c语言航空订票系统

c语言航空订票系统

ID:23119212

大小:154.01 KB

页数:28页

时间:2018-11-04

c语言航空订票系统_第1页
c语言航空订票系统_第2页
c语言航空订票系统_第3页
c语言航空订票系统_第4页
c语言航空订票系统_第5页
资源描述:

《c语言航空订票系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、这是一篇用C语言编写的航空订票系统的论文。该系统使用的是十字链表结构,包含有订票,退票,录入航班信息,查询航班余票,查询个人订票信息这些功能。内含详细论文格式及程序源代码(源代码附有详细注释)25XXXXXXXXXX项目名称:航空信息管理系统学生姓名:XXXXXX学号:XXXXXXXXX班级:XXXXXX指导教师:XXX2012年12月25日25目录1.系统需求分析12.数据结构设计及用法说明23.详细设计和编码43.1订票模块43.2退票模块63.3录入模块83.4查询模块94.实验结果104.1主菜单界面104.2查询功能模块104.3订票功能模块114.

2、4退票功能模块124.5录入航班信息模块125.体会13参考文献14附录:源程序清单15251.系统需求分析本次课程设计要求使用C语言编写一个航空客运订票系统程序,根据所有内容都可以只在内存中运行可得知该模拟的航空客运订票系统不需要用文件保存相关输入,运行过程中的数据。同时该航空客运订票系统要求模拟实际航空订票系统,具有查询航线,客票预订,办理退票,录入航班信息等基本功能。查询航线功能根据实际分析应该具有通过用户输入的要查询终点站名输出该终点站的终点站,航班号,飞机号,飞行日期,剩余票量的功能。订票功能应当设计能够根据用户输入的姓名和终点站,查询该终点站的余票

3、并提示剩余票数,之后让用户输入需要订购的票数并执行相关操作。退票功能可设计成要求用户输入姓名和航班号来查找该用户的的订票信息并打印,再询问是否退票。录入功能是必要的,用来录入航班节点信息。252.数据结构设计及用法说明根据该航空信息管理系统的功能要求,应当设计菜单模块,查询模块,订票模块,退票模块,录入信息模块等几个基本模块,main函数里调用菜单模块打印选项菜单,然后用switchcase接收用户选择,并依此跳转到相应模块执行。同时,为达到能够执行一个模块后继续返回主菜单执行而不是直接退出的目的设计将菜单模块及相应子功能模块放入for死循环里,当输入5则直接

4、退出程序。按该系统的功能分析得出存放在系统中各项数据不需要使用排序功能,因而使用链表保存数据比用顺序表和数组要便捷并且占用内存少,所以定义linklist类型,内部有data,next指针2个数据。其中定义一个flight类型的结构体用来存放实际数据:typedefstruct{charflightname[MAX];//终点站名intflightid;//航班号intdate;//飞行日期intmax;//乘员定额intleft;//余票量intwait;//排队中的票数}flight;//存储"航班信息"中"实际数据"的结构体。flight结构体中left

5、存放航班剩余票数,wait存放当前航班候处于候补状态的人缺票的总数。同时建另一条linklist_2类型保存订票人员的相关信息,包括用户姓名,用户已定票数,用户缺少票数,指向下一个节点的next指针等数据:typedefstructlnode_2{charname[MAX];//用户姓名intnum;//当前用户定的的票数intneed;//当前用户缺少的票数lnode_2*next;//指向下一个节点的指针}linklist_2;//存储用户信息的链表。其中need代表当前用户缺少的票数,这些票数之和存放在航班候补票数中。上述2个结构体类型构成linklis

6、t类型:typedefstructlnode_1{flight*data;//"航班信息"实际数据lnode_1*next;//指向下一个节点的指针}linklist;//存储"航班信息"的链表。其中data用来存放实际数据,里面包含终点站名,航班号,飞行日期,乘员定额,余票量,处于排队中的票数等等信息,next是指向下一个结点的指针。而根据系统功能实际分析发现实际算法中经常需要查询航班下对应的有哪些人员定了该航班票,因而将人员信息链表链接到航班信息链表中更为方便,在航班连表的data实际数据里放一个人员信息链表的头指针:linklist_2*top2;,当有

7、新人员订票则新建一个人员节点,将节点连接到这个头指针下面,这样的链表结构更方便保存和查询系统中各项数据。最后在程序开头创建链表头结点并分配内存:linklist*top=(linklist*)malloc(sizeof(linklist));程序运行过程中产生的数据依次保存在这个头结点后面的结点。25图2-1航班链表存储结构图253.详细设计和编码3.1订票模块进入订票模块先要求用户输入姓名,再输入需要定票的终点站名,然后遍历所有航班节点的名称信息看是否存在该终点站,如果不存在则提示"没有该站点信息,请重新输入:"要求重新输入终点站名,知道输入的终点站名存在,

8、然后创建新人员节点并分配空间:link

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

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

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