- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.
.
航空公司订票系统
一、我的认识和设计思路
1. 我充分利用数据结构课程设计,利用几种典型数据结构(链表,队列,线性表等结构),结合上学期学习的程序设计语言(C/C++语言),链表是实现存储空间动态管理的链式存储结方式,而队是一种操作受限的线性表。使用大量指针,来实现一个比较完整的应用系统的设计与开发。
2. 我通过课程设计一些程序的调试(比如背包问题,病人看病模拟程序,停车场管理程序),通过比较系统的分析、编程和不断调试,进一步理解和掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用 。基本上达到了复习的要求。
3. 我将知识应用于实际的方法,联想到售票系统的使用,也可以提高综合能力。所以我选择了航空订票系统,也可以应用于其他售票系统。
航空空订票系统所涉及的知识:
(1)熟练掌握链表存储结构及其建立过程和常用操作;
(2)熟练掌握队列的建立过程和常用操作;
(3)学会自己调试程序。
4. 通过上网查询和结合实际可知, 航空客运订票的业务活动包括:查询航线、客票预订和办理退票等等。设计了一个航空公司订票系统,以使上述业务可以借助计算机来完成。
下面是一些程序功能设想:
1. 每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需票量);
2. 全部数据可以只放在内存中;
3. 系统能实现的操作和功能如下:
a) 查询航线:
根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;
b) 承办订票业务:
根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,
输出座位号;若已满员或余票额少于定票额,则需重新询问客户要求。若需要,可登记排队候补;
c) 退票业务:
根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。
功能系统图:
主函数
主函数
浏览航线信息
浏览已订票客户信息
查询航线
办理订票业务
办理退票业务
退出系统
按剩余票数排序
实现的功能模块说明
(1)显示全部航线的信息;
(2)查询订票客户的信息;
(3)根据客户提供的终点站,调用find()函数进行查找,调用list()函数输出航线信息;
(4)办理订票业务:根据客户提供的航班号进行查询航线信息,若客户订票额超过乘员定票总额,退出,若客户订票额末超过余票量,订票成功并登记信息,在订票乘员名单域中添加客户信息;如果暂时没有票,询问客户是否要排队等侯,如果是,则在等候队列增加该客户的订票信息。
(5)办理退票业务:调用查询函数,根据客户提供的航线进行搜索根据客户提供的姓名到订票客户名单域进行查询。退票成功后,重新将航线名单域指向订票单链表的头指针。根据队列中从出的客户信息判断是否满足要求,如果满足,则将该客户的信息插入到乘客信息链表中。
(6)退出本系统
二、我进行了以下改进:
主函数的表达方式。菜单界面的的改进:
menu();
printf(请选择菜单:\n);
i=5;
scanf(%d,i);
switch(i)
{
case 1:
printf(请输入要查询的线:\n);
scanf(%s,airline);
printf(航线\n);
printf(起点 -- 终点 飞机号 航班号 飞行周日 乘员定额 余票数 \n);
lookup(airline,LF);
break;
case 2:
printf(请输入要预定的航班号:\n);
scanf(%d,number);
book(number,LF);
break;
case 3:
printf(请输入要退票的航班号:\n);
scanf(%d,number);
back_ticket(number,LF);
break;
case 4:
printf(查看客户资料,输入客户的航班号\n);
scanf(%d,number);
GetElem(LF,number);
原创力文档


文档评论(0)