基于 C 语言的飞机订票系统一、需求分析1、本程序中,输入为字符串小写大写字符和整形; 2、以字符串输出;3、本订票系统要能够实现航班情况的录入功能、航班的查询功能、订票功能、退票功能以及管理本系统的功能,具体为:(1)录入功能可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)(2)查询功能可以查询某个航线的情况(如,航班号,查询起降时间,起飞抵达城市,航班票价,确定航班是否满仓);(3)订票功能可以订票,假如该航班不存在,则订票失败;(4)退票功能可以退票并且记录乘客的相关信息以及退票信息;如客户资料:有姓名,证件号,订票航班情况,订单要有编号。4 、 测 试 数 据 : 订 票 正 确 输 入 航 班 号 ‘ f2009’ 订 票 人 姓 名‘yangyating’ID‘0841919204’管理员正确密码“5566”错误密码“1234”二、概要设计1、程序包含以下模块:每个模块的算法设计说明如下: (1)录入模块: 查找单链表的链尾,在链尾插入一个“航班信息”的新结点。(2)查询模块:提供两种查方式:按航号和按航线查询,1 代表按航号查询,2 代表按航线查询。0 则表示退出查询。顺着单链表查找,假如与航班号(航线)一致,输出相关信息,否则,查询不成功。(3)订票模块:查找乘客要订的航班号,推断此航班是否有空位,有则输入乘客有关信息,订票成功,否则失败。(4)退票模块:输入要退票的乘客姓名以及证件号码,查找乘客资料的链表中是否有这位乘客,有则删去此结点,并在空位加上 1,无则退票失败。(5)修改模块: 输入密码,确认是否有权限对航班信息进行修改,有则在航班信息链表中查找要修改的结点,进行修改,否则不能修改。流程图主函数流程图飞机订票系统录入航班信息查 看 航 班信息退票修改订票三、详细设计1、航班的信息类型:为了便于查找和修改,航班的情况存储结构采纳单链表,每个元素表示一个航班的情况,包括航班号、起飞达到的时间、空座和目的的、票价以及限座七个数据项:航班号起飞时间达到时间目的地限座空座票价单链表如下:每个结点包括数据域和指针域:数据域指针域C 语言描述如下:typedef struct flightnode{ char air_num[10]; /*航班号*/char start_time[15]; /*起飞时间*/char end_time[15]; /*到达时间*/char end_place[30]; /*目的地*/int total; /*限座*/int left; /*空座*/int price; /*票价*/struct flightnod...