1、如果当前系统时间超过了某班次的发车时间,则显示此班已发出的提示信息。3查询路线:可按班次号查询 ,可按终点站查询。4售票和退票功能:A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数。B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数。5删除功能:该功能可以删除录入的错误信息。6订购功能:该功能可以方便旅客提前预定。第三章详细设计说明3.1 模板设计图图3-1函数功能模板图3.2主函数流程图1 2 3 4 是否 图3-2主函数流程图3.3 子函数流程图 是 否否 1 2 图3-3 录入班次流程图 图3-4 查询车次函数流程图12 是
2、 否 图3-5 订票函数流程图第四章 编码与调试4.1 软件使用说明打开软件后,会出现一个主页面,这时候你首先要把火车票信息调用出来,这款软件具备很多功能,例如用键盘操作页面;可以更改班次信息;浏览班次信息;订票;退票等等,并且能够随时退出系统得功能。这款软件简单易操作,希望大家会喜欢。4.2 运行结果及截图1、进入系统页面录入班次信息 图4-1 录入班次信息图2、浏览录入班次信息图4-2 浏览班次信息图3、查询你乘车需要的信息(1)按班次查询 图4-3 班次查询图(2)按终点站查询 图4-4 班次查询图4、订票与退票(1)订票成功 图4-5 订票成功图(2)订票失败 图4-6 订票失败图(3
3、)退票成功 图4-7 退票成功图(4)退票失败图4-8 退票失败图5、退出系统 图4-9 退出系统图第五章 课程设计心得与体会三周的课程设计结束了,我终于完成了这次高级语言课程设计,并且认真完成了课程设计报告。在这次的课程设计中不仅检验了我所学习的知识,也培养了自己的耐心。课程设计是我们专业课程知识综合应用的实践训练,也是我们迈向社会,从事职业工作前一个必不少的过程千里之行始于足下,通过这次课程设计,我深深体会到这句千古名言的真正含义通过这次课程设计,本人在多方面都有所提高。通过这次火车票系统设计,综合运用本专业所学课程的理论,巩固与扩充了高级语言设计等课程所学的内容,掌握高级语言设计的方法和
4、步骤,掌握了高级语言设计的基本的概念,了解了高级语言的基本结构,提高了编程能力,绘图能力,熟悉了规范和标准,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。 在这次设计过程中,大大激发了我编程的兴趣,在设计的过程中亦遇到了许多困难,我会向同学和学长寻求帮助,在交流中共同进步,也体现出自己设计程序的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。附录一 参考文献 1张海藩编著.软件工程导论M .清华大学出版社.2006.5. 2 Roger S.Pressman.软件工程-实践者的研究方法.机械工业出版社.
5、1990 3 张敬等编著.软件工程教程.北京航空航天大学出版社.2003.7. 4 Steve maguire. Writing Clean Code姜静波等译.电子工业出版社.1993 5谭浩强著.清华大学出版社 6严蔚敏.吴伟民编著.数据结构附录二 程序清单以下是火车票管理系统的完整程序清单:#includestdlib.hdos.htime.hconio.hstring.hconst int MAX=20;const int N=50;const int MAXFILENAME=100;enum FALSE,TRUE;struct timeint hour;int minutes;str
6、uct ticketint SerialNumber;struct time SetOut;char DeparturePointMAX;char TerminalPointMAX;float LastTime;int FixNumber;int FixedNumber;carN;int RecordNumber;int FLAG=FALSE;/*/int ShowMessage; /载入原始数据void mainmenu /主菜单void InsertMessage /录入班次信息void SearchMenu /查询路线子菜单void SearchByNumber /按班次号查询void
7、SearchByAddress /按终点站查询void TicketManagement /车票售出与退回void TicketOrder /售票void TicketDelete /退票void exit /退出该系统void SaveRecord /储存信息到文件中/*/int maindo mainmenuwhilereturn 0;systemcolor 1fmode con: cols=140 lines=130char functionNumber;printf 车票管理系统nn 日期:2011/1/3/22:57n=n 1.录入班次信息tn 2.浏览班次信息tn 3.查询行车路线
8、tn 4.售票与退票系统tn 5.退出该系统tn请选择你所需要的功能:scanfswitch case 1: InsertMessage printfn按任意键回主菜单.n getchar break;2 RecordNumber=ShowMessage3 SearchMenu4 TicketManagement5FLAG=TRUE;exitiffp=fopen文件%s不可读,请确认文件%s存在或者文件路径正确.nn,filename,filenamefori=RecordNumber;!feof&ferrorfscanf%s%s%f%d%dcari.DeparturePoint,&cari.
9、TerminalPoint,&cari.LastTime,&cari.FixNumber,&cari.FixedNumber SaveRecord*RecordNumber=i;/*输出更新后的订票记录*/班次t发车时间t起点t终点t行车时间t额定载量t已定票人数ni=0;i%st%stt%.1ft %dtt%dn,cari.DeparturePoint,cari.TerminalPoint,cari.LastTime,cari.FixNumber,cari.FixedNumberfcloseadd.txt,读取数据失败,请检查文件add.txt是否存在.n exitint count=i;班
10、次t发车时间t起点t终点t 行车时间count;printf%st%stt%.1ft %dtt%dt /*调用系统时间实现的功能:如果车已发出,则打出提示此车已发出,但是此处有错误*/ time_t tval; struct tm *now; tval = time now = localtimenow-tm_hour=cari.SetOut.hour&tm_min|cari.SetOut.hournreturn count; 查询子菜单n 1.按班次号查询tn 2.按终点站查询tn 3.返回主菜单tn%*c%cSearchByNumberSearchByAddress,carSearchNu
11、mber-1.SerialNumber,carSearchNumber-1.SetOut.hour,carSearchNumber-1.SetOut.minutes,carSearchNumber-1.DeparturePoint,carSearchNumber-1.TerminalPoint,carSearchNumber-1.LastTime,carSearchNumber-1.FixNumber,carSearchNumber-1.FixedNumberchar AddressMAX;请输入终点站的名称:Address /对比终点站记录,找到并输出 ifstrcmp=0 订票与退票菜单n
12、 1.订票tn 2.退票tn 3.返回主菜单.n选择你需要的功能: TicketOrder /getcharTicketDelete0|iRecordNumber对不起,今天没有这趟车,请明天再来,谢谢使用!/getchartime_t tval;tm_mintm_hourcari.FixedNumber +;你的订票成功,请按时上车,谢谢使用! else printf对不起,今天的这趟车的票已卖完,请明天再来,谢谢合作!else printf,cari-1.DeparturePoint,cari-1.TerminalPoint,cari-1.LastTime,cari-1.FixNumber,cari-1.FixedNumber/printfgetchar请输入要退购的车票的班次:%d
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1