c铁路订票系统的设计

c铁路订票系统的设计

ID:24240291

大小:20.06 KB

页数:4页

时间:2018-11-13

c铁路订票系统的设计_第1页
c铁路订票系统的设计_第2页
c铁路订票系统的设计_第3页
c铁路订票系统的设计_第4页
资源描述:

《c铁路订票系统的设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言设计火车票订票系统设计题目:火车订票系统一:需求设计:1.每条线路所涉及的信息有:起点,终点,站名.车次.票价,时间,座位号.2.作为示意系统,全部数据可以只放在内存中.3.系统能实现的功能和操作如下:1.查询路线:根据旅客提出的终点站输入下列信息:车次,车站名.2.承办订票业务:根据客户提出的要求查询车次票额的情况,若有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新查询客户要求,若需要可登记排队候补.3.承办退票业务:根据客户提供的情况(车次,时间,座位号)为客户办理退票手续,然后

2、查询车次是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户.4.登记旅客情况:包括旅馆姓名,性别,年龄,家庭住址,联系方式等.5.统计功能:将每次车的订票,退票结果统计出来.6.管理功能:列车管理员可以通过调用函数来查看车票及其用户情况.7.查询功能:用户可以查询自己需要的车辆信息.二:总体设计1.程序流程图:按1键按2键按3键按4键进入in函数进入book函数进入inquire函数进入cancel函数按5键进入you函数2。总体设计说明1数据结构设计

3、:程序=数据结构+算法,一个好的程序必定有一个好的数据结构,本设计主要考虑车票信息和用户信息的数据结构。车票信息采用半十字链表。横向链表中的每一个结点包含以下内容:车次,起始站,发车时间,指向下一个结点的指针,指向中途站的指针,纵向链表中每一个结点包含以下内容:从始发站开始的依次到站,票价,到达时间,是否已购买标识,才用mark标识,当mark为1时车票已售出,当mark为0时车票还未售出,以及指向下一个结点的指针,纵向链表采用循环链表,尾指针指向首指针。未购票用户信息使用队列来保存,因为考虑到用户会预定票,所以把用户

4、以来订票的时间早晚排在队中,先来先买,后来后买,队列中的每个元素包含以下内容:用户姓名,身份证号码,想要购票的车次,起始站,要到的站,列车时间。已经购票用户信息使用一个单链表来保存,链表中的每个结点包含以下内容:用户姓名,身份证号码,已购车票的车次,出发时间,到达时间。车票信息链表示意图:车次起始站发车时间DownNext下一站名到站时间票价MarkNext座位号未购票用户信息队列用户姓名购票的车次起始站要到的站达到时间注:座位号包含在车次号中已购票用户信息链表示意图:用户姓名身份证号码已购车票的车次号出发时间到达时间

5、注:座位号包含再车次号中算法的设计:主函数:利用case语句实现用户界面,用户输入需要的服务的数字代码,程序就会转到相应的函数,实现相应的功能.在主函数开始做下First标识,以便在其他函数中使用goto语句返回主函数的用户界面.In()函数:In()函数负责输入各种信息,链表中车票信息的初始值.Book()函数:Book()函数负责订票功能,主要是遍历整个链表,查找到需要订票的节点后修改其mark值。Inquire()函数:Inquire()函数主要负责查询功能,主要是整个遍历整个链表查找到所需要的结点,然后输出。C

6、ancel()函数:Cancel()函数主要负责退票功能,主要是遍历整个链表查找到雪要的结点,然后修改mark的值。You()函数:You()函数主要负责输入用户信息,主要是创建一个单链表,将用户信息放入,并提供管理人员的查询功能。Find()函数:Find()函数主要负责查询用户信息,遍历整个单链表后,输出需要的信息。Total()函数:Total()函数主要负责统计整个订票系统的情况。三:详细设计1.主函数:A程序代码:Main(){int*t;Intc;First:printf(“welcometoyourtic

7、ketsystem!”);Printf(“1.inputthedata.”);/*按1键输入数据*/Printf(“2booktheticket.”)/*按2键订车票*/Printf(“3.inquiretheticket.);/*按3键查询车票*/Printf(“4.canceltheticket.”);/*按4键退车票*/Printf(“5.inputyourowndata.”);/*按5键输入个人信息*/Sanf(“%d.&c);Switch(c){case’1’:t=int():brea

8、k;Case’2’:book(:)break;Case’3’:inquire():break;Case’4’:cancel():break;Case’5’:you():break;Default:printf(“youenteranerrornumber”);}}B功能说明:通过printf语句,输出提示用户选择的信息,用户看

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。