C语言航空订票系统方案

上传人:hs****ma 文档编号:489348618 上传时间:2024-03-02 格式:DOC 页数:22 大小:450.50KB
返回 下载 相关 举报
C语言航空订票系统方案_第1页
第1页 / 共22页
C语言航空订票系统方案_第2页
第2页 / 共22页
C语言航空订票系统方案_第3页
第3页 / 共22页
C语言航空订票系统方案_第4页
第4页 / 共22页
C语言航空订票系统方案_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《C语言航空订票系统方案》由会员分享,可在线阅读,更多相关《C语言航空订票系统方案(22页珍藏版)》请在金锄头文库上搜索。

1、航空客运订票系统姓名:xxx班级:xxxx学号: xxxxxxxxx目录一、 问题描述 .1二、 设计要求 .1三、数据结构设计 .2四、 详细设计程序 .3五、 运行与测试 .9六、收获及体会 .13一、问题描述设计一个航空客运订票系统,为乘客提供各种航空客运信息服务。二、 设计要求1 每条航线所涉及的信息有:终点站名 、航班号、飞机号、飞行日(星期几)、乘员定额、余票量、已订票的客户名单 (包括姓名 、订票量、舱位等级 1, 2 或 3)以及等候替补的客户名单 (包括姓名 、所需票量 );2 系统能实现的操作和功能如下:a) 查询航线 :根据旅客提出的终点站名输出下列信息:航班号、飞机号、

2、星期几飞行 ,最近一天航班的日期和余票额 ;b) 承办订票业务 :.根据客户提出的要求 (航班号、订票数额 )查询该航班票额情况 ,若尚有余票 ,则为客户办理订票手续 ,输出座位号 ;若已满员或余票额少于定票额,则需重新询问客户要求。若需要,可登记排队候补;c) 承办退票业务 :根据客户提供的情况 (日期、航班),为客户办理退票手续 ,然后查询该航班是否有人排队候补 ,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续 ,否则依次询问其他排队候补的客户。三、 数据结构设计a)等候替补的客户名单 (包括姓名 、所需票量 )typedef struct wat_ros char

3、name10;/*姓名 */int req_amt;/*订票量 */struct wat_ros *next;qnode,*qptr;typedef struct pqueu qptr front;/*等候替补客户名单域的头指针*/qptr rear;/*等候替补客户名单域的属指针*/linkqueue;b )订票的客户名单 (包括姓名 、订票量 、舱位等级 1, 2 或 3)typedef struct ord_ros char name10;/*客户姓名 */专业技术资料.int ord_amt;/*订票量 */int grade;/*舱位等级 */struct ord_ros *next

4、;linklist;c)每条航线所涉及的信息:终点站名 、航班号 、飞机号 、飞行日 (星期几 )、乘员定额 、余票量、已订票的客户名单 、以及等候替补的客户名单struct airlinechar zong_name10;/*终点站名 */char air_num10;/*航班号 */char plane_num10;/*飞机号 */char date7;/*飞行日期 (星期几 ) */int tkt_amt;/*乘员定额 */int tkt_sur;/*余票量 */linklist *order;/*乘员名单域 ,指向乘员名单链表的头指针*/linkqueue wait;/*等候替补的客户

5、名单域,分别指向排队等候名单队头队尾的指针*/lineinfo;四、详细设计程序主函数 :int menu_select()/* 菜单界面 */ int c;char s20;printf(ntt航空客运订票系统n);专业技术资料.printf(*n);printf(1.浏览航线信息 n);printf(2.浏览已订票客户信息n);printf(3.查询航线 n);printf(4.办理订票业务 n);printf(5.办理退票业务 n);printf(6.查看剩余票数并排序n);printf(0.退出系统 n);printf(*n);doprintf( 请选择 :);scanf(%s,s);

6、c=atoi(s);while(c7);return c;void main()start=air;for(;)switch(menu_select()专业技术资料.case 1:list();break;case 2:prtlink();break;case 3:search();break;case 4:order();break;case 5:return_tkt();break;case 6:sort_tkt();break;case 0:printf(n欢迎使用本系统,再见 ! n);exit(0);printf(nPress any key to continue!n);getch

7、();航线信息 :struct airlinechar zong_name10;/*终点站名 */char air_num10;/*航班号 */char plane_num10;/*飞机号 */char date7;/*飞行日期 (星期几 ) */int tkt_amt;/*乘员定额 */int tkt_sur;/*余票量 */linklist *order;/*乘员名单域 ,指向乘员名单链表的头指针*/linkqueue wait;/*等候替补的客户名单域,分别指向排队等候名单队头队尾的指针*/专业技术资料.lineinfo;struct airline *start;struct airl

8、ine airMAXSIZE=aaa,1,001,SUN,30,15,bbb,2,002,MON,40,10,ccc,3,003,FRI,50,14,ddd,4,004,TUE,60,20;void display(struct airline *info)/* 打印每条航线的基本信息*/printf(%8st%3st%st%4stt%3dt%10dn,info-ter_name,info-air_num,info-plane_num,info-date,info-tkt_amt,info-tkt_sur);void list()/*打印全部航线信息*/ struct airline *inf

9、o; int i=0; info=start;printf( 终点站名 t 航班号 t 飞机号 t 飞行日期 t 乘员定额 t 余票量 n); while(iMAXSIZE)display(info);info+;i+;专业技术资料.printf(nn);查询航线 :void search()/* 根据客户提出的终点站名输出航线信息*/ struct airline *info,*find(); char name10;int i=0;info=start;printf( 请输入终点站名:);scanf(%s,name);while(izong_name) break;info+;i+;if(i=MAXSIZE)printf( 对不起 ,该航线未找到!n);elseprintf( 终点站名 t航班号 t飞机号 t飞行日期 t乘员定额 t余票量 n);专业技术资料.display(info);struct airline *find()/* 根据系统提出的航班号查询并以指针形式返回*/ struct airline *info; char number10;int i=0;info=start;printf( 请输入航班号 :);scanf(%s,number);while(iair_num) return info;info+;i+;print

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 幼儿/小学教育 > 幼儿教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号