文档介绍:沈阳航空工业学院课程设计学号__________ 班级__________ 姓名__________ 指导教师___ 尹航___ 年月日沈阳航空工业学院课程设计任务书电子信息工程学院电子信息工程专业 84020103 班学号 2008040201072 一、课程设计题目: 简单的汽车站售票系统二、课程设计工作自 2009 年9月7 日起至 2009 年9月 11日止三、课程设计内容: 用C 语言编写程序完成以下任务: 每天“沈阳→植物园”有5 个班次的汽车(假设) ,具体的数据如下: 班次发车时间载客量已售票数 1 06:40 500 2 09:30 400 3 13:00 400 4 16:00 400 5 20:00 500 请你为售票员开发一个小程序,以完成每天的“沈阳→植物园”的售票业务。要求如下: (1 )售票: 应能够控制每人只允许买 5 张票,且不能购买已经发车的车票(取当前时间函数由老师提供)。(2 )退票: 已经发车的车票不能退(取当前时间函数由老师提供)。(3) 可以随时显示售票现状, 并以文件( ) 形式保存当天各个车次的售票情况。四、课程设计要求: 程序质量: ?贯彻结构化程序设计思想。?用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。?用户界面中的菜单至少应包括“运算选项”、“数据输入”、“保存结果”、“退出”4 项。?代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书: 课程结束后, 上交课程设计说明书( 打印稿和电子稿), 其内容如下: ?封面?课程设计任务书?目录?需求分析(分析题目的要求) ?程序流程图(总体流程图和主要功能模块流程图) ?核心技术的实现说明及相应程序段?个人总结?参考资料?源程序及适当的注释指导教师: 学生签名: 五、成绩: 六、教师评语: 沈阳航院设计用纸 I 目录一、需求分析…………………………………… 1 二、程序流程图………………………………… 1 三、关键技术分析……………………………… 5 四、个人总结…………………………………… 6 五、参考文献…………………………………… 7 六、源程序……………………………………… 7 沈阳航院设计用纸 1 一、需求分析本程序的设计题目是:“简单的汽车站售票系统”,该系统要求存储当天各个车次售票情况,所以程序需要定义结构体变量存储售票情况,从整体上看,系统的全部过程都是为了通过记录当天各个车次的情况来了解售票情况。这就需要通过本程序中的主函数中的 swich 分支选择调用各子函数以实现该系统的各种功能。然后再根据题目要求来编写相应的子函数来执行系统的各种功能。在用户带的显示菜单上,我们还设计了一个退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。 1、根据题目需求,我们需要定义五个主要函数,分别有:系统程序的输入函数,存储函数( save ),读取函数( load ),买票函数和退票函数,最后还附加有退出功能; 2、结构化程序设计思想比较明确,使用户界面友好,功能明确, 操作方便,而且我们在用户界面中的菜单上设计了“买票、退票、显示当前售票情况、保存当天数据、退出”等功能,满足了题目要求。二、程序流程图沈阳航院设计用纸 2 输入每个班次汽车的信息输出一个菜单保存当天数据退出售票系统退票买票查询显示当前售票情况显示当天时间图1系统总流程图是 if((fp=fopen( " "," w+ " )))==NULL 否文件无法读取 for(i=0;i<N;i++) 输入数据保存关闭文件图2文件读取函数沈阳航院设计用纸 3 图3售票函数显示当前的售票情况输入要购买的班次 b输入要购买的票数 n for (i=0;i<n;i++) if(strcmp(ST[i].banci,b)= =0&&n<=5&& 已发车的不再售票) 否是 ST[i].maipiao=ST[i].maipiao-1 ST[i].yupiao=ST[i].yupiao+1 保存沈阳航院设计用纸 4 图4退票函数显示当前的售票情况输入要退的班次 b输入要退的票数 n for(i=0;i<N;i++) I f(strcmp(ST[i].banci,b)= =0&& 已发车的不能退票) 否是 if (ST[i].maipiao-n>=0) 否是 ST[i].maipiao=ST[i].maipiao-n ST[i].yupiao=ST[i].yupiao+n 保存沈阳航院设计用纸 5 三、关键技术分析核心技术的实现方法和程序段: 本函数由六个自定义函数和一个主函数组成,其中主函数是通过 switch 分支选择调用其他个子函数以实现该系统的各种功能。在这里,我们只分析输入函