《火车票管理系统.ppt》由会员分享,可在线阅读,更多相关《火车票管理系统.ppt(20页珍藏版)》请在三一办公上搜索。
1、C+课程设计,车票管理系统,专业班级:10级电信(2)班学生姓名:王彪&樊江涛指导老师:高攀,课程设计题目要求,1问题描述一车站每天有n个发车班次,每个班次都有一班次号(1、2、3n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数1 8:00 郫县 广汉 2 45 302 6:30 郫县 成都 0.5 40 303 7:00 郫县 成都 0.5 40 204 10:00 郫县 成都 0.5 40 22功能要求:用c+设计一系统,能提供下列服务:(1)录入班次信息(信息用文件保存),可不定时地增加
2、班次数据(2)浏览班次信息,可显示出所有班次当前状态(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。(3)查询路线:可按班次号查询,可按终点站查询(4)售票和退票功能A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数,程序流程图,程序主要函数,void welcome();欢迎子函数void choose();选择子函数void banciluru();班次录入子函数void liulanbancixinxi();浏览班次信息子函数void shoupia
3、o();售票子函数void tuipiao();退票子函数void quit();退出子函数void chaxun();查询子函数int loading();文件载入子函数void Numbersearch();班次查询子函数void Finalsearch();终点站查询子函数,程序详细介绍,整个程序中,我们使用了11个函数体,分别是void welcome()欢迎子函数;void choose();选择子函数void banciluru();班次录入子函数void liulanbancixinxi();浏览班次信息子函数void shoupiao();售票子函数void tuipiao()
4、;退票子函数void quit();退出子函数void chaxun();查询子函数int loading();文件载入子函数void Numbersearch();班次查询子函数void Finalsearch();终点站查询子函数.头文件使用了iostream,fstream,string,time.h 定义了结构体time,ticket.struct time/时间结构体,为了与系统时间做比较.int hour;int minutes;struct ticket/车票结构体,包含车次,时间结构体,起点,终点,行车时间,额定载客量,已订票人int Number;struct time Se
5、tout;char QidianMAX;char ZhongdianMAX;float Lasttime;int Fixnumber;int Fixednumber;carN;,主函数直接调用欢迎子函数,出现程序原始界面,并调用选择子函数进行功能选择.,然后输入数字进行选择.并进入各个不同的子函数,此处用string定义,以便之后的容错能力更强.,输入数字1,进入班次录入子函数,定义文本,输入2,进入浏览班次信息子函数,这个函数在开头即调用了文件载入函数,使得文件中的信息进入本程序,输入3进入查询子函数,输1按班次查询,进入班次查询子函数,输2进入终点站查询子函数,这两个查询函数都调用了文件载
6、入函数,输4进入购买火车票子函数,输5进入退票子函数,输6进入退出函数,退出程序,测试结果,本程序整体达到题目所述要求,但还有一些细节没能处理好,比如时间的输入,如果是整点时间录入系统后,分钟只能显示一个0,因为定义的是int型,而调用系统时间的整个函数是从网络上查找到的.不是很熟练的能够掌握.如果把分钟定义成char型或string型与系统时间比较时就会报错.其他容错处理都采用string来定义,以便容错能力更好.,课程设计总结,通过这次的课程设计,我发现我还有好多的不足之处,还有好多知识不能很好的运用,而且题目中的一个要求没有正常的完成.我觉得我们应该花更多的时间去查找资料,因为仅凭自己已学的知识是无法完成这些内容的.这次课程设计我用了9个子函数去完成,分开完成各个函数并验证其正确性,这样的方法让我能够顺利完成整个系统.不足之处还有好多,我应该在以后的学习中更加努力完善.,谢谢!,