您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 商业计划书 > 基于C++的火车票管理系统C++课程设计
信息科学与技术学院《程序设计基础》课程设计报告题目名称:车票管理系统专业班级:电子信息工程10级2班学生姓名:王彪樊江涛学生学号:20105081152010508131指导教师:高攀完成日期:2011-01目录1课程设计综述—————————————————41.1课程设计的目的———————————————41.2课程设计的题目———————————————41.3题目要求——————————————————42概要设计———————————————————43详细设计———————————————————53.1流程图———————————————————53.2源程序——————————————————64测试———————————————————145课程设计总结—————————————————161.课程设计综述1.1课程设计的目的让我们更加深入的了解C++的,使我们一学期学习到的东西得到实践.1.2课程设计的题目火车票管理系统1.3题目要求用c++设计一个系统,能提供下列服务:(1)录入班次信息(信息用文件保存),可不定时地增加班次数据(2)浏览班次信息,可显示出所有班次当前状态(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。(3)查询路线:可按班次号查询,可按终点站查询(4)售票和退票功能A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数2方案选择1)算法设计说明由主函数进入,弹出主菜单界面,通过Switch语句选择需要的功能,可以选择班次录入,浏览班次信息,查询班次信息,购票和退票以及退出系统,以完成不同的操作.其中查询班次信息中还可以由班次查询或者终点站查询.整个系统的文件载入用一个文件载入函数承当.3详细设计3.1流程图开始Main函数,进入Switch语句班次录入子函数浏览班次子函数查询子函数购买车票子函数退订车票子函数按照班次查询按照终点站查询返回到主菜单退出程序子函数结束3.2源程序#includeiostream#includefstream#includestring#includetime.husingnamespacestd;voidwelcome();//欢迎子函数voidchoose();//选择子函数voidbanciluru();//班次录入子函数voidliulanbancixinxi();//浏览班次信息子函数voidshoupiao();//售票子函数voidtuipiao();//退票子函数voidquit();//退出子函数voidchaxun();//查询子函数intloading();//文件载入子函数constintMAX=20;//使数组最大值可调constintN=50;structtime//时间结构体,为了与系统时间做比较.{inthour;intminutes;};structticket//车票结构体,包含车次,时间结构体,起点,终点,行车时间,额定载客量,已订票人数{intNumber;structtimeSetout;charQidian[MAX];charZhongdian[MAX];floatLasttime;intFixnumber;intFixednumber;}car[N];//主函数intmain(){welcome();return0;}//欢迎子函数voidwelcome(){cout________________________________________________________endl;cout|欢*迎*使*用*火*车*票*管*理*系*统|endl;cout||endl;cout|本管理系统有以下功能:|endl;cout||endl;cout|1班次录入|endl;cout|2浏览班次信息|endl;cout|3查询火车信息|endl;cout|4购买火车票|endl;cout|5退订火车票|endl;cout|6退出系统|endl;cout|______________________________________________________|endl;cout请输入所要执行功能前的数字:endl;choose();}//选择子函数voidchoose(){stringi;cini;if(i==1)banciluru();if(i==2)liulanbancixinxi();if(i==3)chaxun();if(i==4)shoupiao();if(i==5)tuipiao();if(i==6)quit();else{cout输入有误!请在数字1-5之间重新您的输入选择!endl;choose();}}//班次录入子函数voidbanciluru(){stringt=1;ofstreamoutfile;outfile.open(班次信息.txt,ios::app);for(inti=0;t==1;i++){cout请输入需要添加的火车班次:endl;cincar[i].Number;cout请输入此班次发车时间(格式:先输入小时,回车,再输入分钟):endl;cincar[i].Setout.hour;cincar[i].Setout.minutes;cout请输入出发站:endl;cincar[i].Qidian;cout请输入终点站:endl;cincar[i].Zhongdian;cout请输入行车时间:endl;cincar[i].Lasttime;cout请输入额定载客量:endl;cincar[i].Fixnumber;cout请输入已订票人数:endl;cincar[i].Fixednumber;outfilecar[i].Numbercar[i].Setout.hourcar[i].Setout.minutescar[i].Qidiancar[i].Zhongdiancar[i].Lasttimecar[i].Fixnumbercar[i].Fixednumberendl;cout是否继续录入?(是请输1,否请输任意键返回主菜单)endl;cint;if(t!=1){welcome();}}outfile.close();cout输入回车键返回endl;getchar();getchar();welcome();}//浏览班次子函数voidliulanbancixinxi(){intc;c=loading();cout班次发车时间起点站终点站行车时间额定载客量已订票人数endl;for(inti=0;ic;i++){coutcar[i].Numbercar[i].Setout.hour:car[i].Setout.minutescar[i].Qidiancar[i].Zhongdiancar[i].Lasttimecar[i].Fixnumbercar[i].Fixednumberendl;time_ttval;structtm*now;tval=time(NULL);now=localtime(&tval);if((now-tm_hour==car[i].Setout.hour&&now-tm_mincar[i].Setout.minutes)||(now-tm_hourcar[i].Setout.hour))cout此车已发出endl;}cout输入回车键返回endl;getchar();getchar();welcome();}//车次查询子函数voidNumbersearch();voidFinalsearch();voidchaxun(){stringt;cout1.按班次查询endl;cout2.按终点站查询endl;cout请输入您想选择的查询方法前的数字:endl;cint;if(t==1)Numbersearch();if(t==2)Finalsearch();if(t!=1||t!=2){cout输入有误,请重新输入endl;chaxun();}}//班次查询子函数voidNumbersearch(){loading();intSearchNumber;cout请输入您需要查找的班次号:endl;cinSearchNumber;cout班次发车时间起点站终点站行车时间额定载客量已订票人数endl;coutcar[SearchNumber-1].Numbercar[SearchNumber-1].Setout.hour:car[SearchNumber-1].Setout.minutescar[SearchNumber-1].Qidiancar[SearchNumber-1].Zhongdiancar[SearchNumber-1].Lasttimecar[SearchNumber-1].Fixnumbercar[SearchNumber-1].Fixednumberendl;cout输入回车键返回endl;getchar();getchar();welcome();}//终点站查询子函数voidFinalsearch(){intR;R=loading();inti;charAddress[MAX];cout请输入终点站名称:endl;cinAddress;cout班次发车时间起点站终点站行车时间额定载客量已订票人数endl;for(i=0;iR;i++){if((strcmp(Address,car[i].Zhongdian))==0)coutcar[i].Numbercar[i].Setout.hour:car[i].Setout.minutescar[i].Qidiancar[i].Zhongdiancar[i].Lasttimecar[i].Fixnumbercar[i].Fixednumberendl;}cout输入回车键返回endl;getchar();getchar();welcome();}//购买火车票子函数voidshoupiao(){intR;R=loading();inti;cout请输入要订购的车票的班次:endl;cini;if(i=0||iR){cout对不起,今天没有这趟车,请明天再来,谢谢使用!endl;cout输入回车键返回endl;getchar();getchar();welcome();}time_ttval;structtm*now;tval=time(NULL);now=localtime(&tval);if((now-tm_hour==car[i-1].Setout.hour&&now-tm_mincar[i-1].Setout.minutes)||(now-tm_hourcar[i-1].Setout.hour)){if(car[i-1].Fixednumbercar[i-1].Fixnumber){(car[i-1].Fixednumber)++;ofstreamou
三七文档所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
本文标题:基于C++的火车票管理系统C++课程设计
链接地址:https://www.777doc.com/doc-3372505 .html