基于c语言的飞机订票系统

基于c语言的飞机订票系统

ID:871417

大小:372.53 KB

页数:22页

时间:2017-09-22

基于c语言的飞机订票系统_第1页
基于c语言的飞机订票系统_第2页
基于c语言的飞机订票系统_第3页
基于c语言的飞机订票系统_第4页
基于c语言的飞机订票系统_第5页
资源描述:

《基于c语言的飞机订票系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、(飞机订票系统)一、需求分析1、本程序中,输入为字符串小写大写字符和整形;2、以字符串输出;3、本订票系统要能够实现航班情况的录入功能、航班的查询功能、订票功能、退票功能以及管理本系统的功能,具体为:(1)录入功能可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)(2)查询功能可以查询某个航线的情况(如,航班号,查询起降时间,起飞抵达城市,航班票价,确定航班是否满仓);(3)订票功能可以订票,如果该航班不存在,则订票失败;(4)退票功能可以退票并且记录乘客的相关信息以及退票信息;如客户资

2、料:有姓名,证件号,订票航班情况,订单要有编号。4、测试数据:订票正确输入航班号‘f2009’订票人姓名‘yangyating’ID‘0841919204’管理员正确密码“5566”错误密码“1234”二、概要设计1、程序包含以下模块:每个模块的算法设计说明如下:(1)录入模块:查找单链表的链尾,在链尾插入一个“航班信息”的新结点。(2)查询模块:提供两种查方式:按航号和按航线查询,1代表按航号查询,2代表按航线查询。0则表示退出查询。顺着单链表查找,如果与航班号(航线)一致,输出相关信息,否则,查询不成功。

3、(3)订票模块:查找乘客要订的航班号,判断此航班是否有空位,有则输入乘客有关信息,订票成功,否则失败。(4)退票模块:输入要退票的乘客姓名以及证件号码,查找乘客资料的链表中是否有这位乘客,有则删去此结点,并在空位加上1,无则退票失败。(5)修改模块:输入密码,确认是否有权限对航班信息进行修改,有则在航班信息链表中查找要修改的结点,进行修改,否则不能修改。流程图飞机订票系统录入航班信息查看航班信息退票修改订票主函数流程图显示功能选项根据N调用模块函数YES输入N:判断N是否在0~4之间NO三、详细设计1、航班的

4、信息类型:为了便于查找和修改,航班的情况存储结构采用单链表,每个元素表示一个航班的情况,包括航班号、起飞达到的时间、空座和目的的、票价以及限座七个数据项:航班号起飞时间达到时间目的地限座空座票价hD1D2D3单链表如下:每个结点包括数据域和指针域:数据域指针域C语言描述如下:typedefstructflightnode{charair_num[10];/*航班号*/charstart_time[15];/*起飞时间*/charend_time[15];/*到达时间*/charend_place[30];/*

5、目的地*/inttotal;/*限座*/intleft;/*空座*/intprice;/*票价*/structflightnode*next;/*指向个结点*/}flightnode;基本操作:intCreatFlight(flightnode**l);//生成航班信息链表intInsertFlight(flightnode**p,char*air_num,char*start_time,char*end_place,inttotal,intleft,intprice);//插入航班信息的结点flightno

6、de*modefy_airline(flightnode*l,char*air_num);//修改航班信息的函数intBookTicket(flightnode*a,char*air_num,passengernode*c,char*name,char*ID_num);//订票函数intCancelTicket(passengernode*c,flightnode*l,char*name,char*ID_num);//退票函数intSearchFlight(flightnode*head);//查询航班信息函

7、数2、乘客信息类型:为了便于插入、删除和修改,其采用单链表存储结构,每个数据元素包括姓名、证件号码、航班号和座位号四个数据项:旅客姓名证件号码航班号座位号每个结点包括数据域和指针域:数据域指针域C语言描述如下:typedefstructpassengernode{/*定义乘客资料结点*/charname[20];charID_num[20];charair_num[20];intseat_num;structpassengernode*next;}passengernode;基本操作:intCreatPass

8、enger(passengernode**l);//生成乘客资料链表intInsertPassenger(passengernode**p,char*name,char*ID_num,char*air_num,intseat_num);//插入乘客资料的结点3、主函数和其他函数的伪码算法voidmain()//主函数{while(){printf(/*主菜单界面*/)switch(ch=getcha

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

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

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