数据结构课程设计 飞机订票系统分解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
随着时代的进步社会分工的不断细化,各个行业联系的不断密切,人们出行越来越多,出行的方式也是百花齐放,作为空中重要的交通工具,飞机航空系统也在不断地得到优化,
其中重要的一项就是航空飞机订票系统,因此好的订票系统关系着人们的日常出行方便与否,设计并编制出符合人们需要的航空订票系统是一项繁重而艰巨的任务。
本文Microsoft Visual C 6.0作为程序代码的实现软件,进行飞机订票系统的数据结构课程设计。首先,根据课程设计内容进行需求分析,确定主要的功能模块,。然后进行数据结构、各功能模块算法以及它们之间的调用关系的概要设计,做出各信息模块的数据结构表,并给出所用的结构体和结点类型。在此基础上,进行各功能模块的详细算法设计,做出各算法的流程图。最后,对系统进行测试,分为合法数据测试和非法数据测试,并对测试结果截图保存。本系统包含录入航班信息、订票、退票、查询航班信息、查询订票信息、修改航班信息和退出系统7个基本功能,经测试后健壮性良好。
关键词飞机订票系统;数据结构;C语言;单链表
i
目录
1 问题背景 (1)
2 问题分析 (1)
3 需求分析 (2)
3.1 用户需求分析 (2)
3.2 功能需求分析 (2)
3.3 系统需求分析 (3)
4 逻辑设计 (3)
4.1 数据结构 (3)
4.2 各功能模块间函数调用关系 (5)
4.3 函数说明 (5)
5 详细设计 (7)
5.1 录入航班信息 (7)
5.2 顾客订票模块 (8)
5.3 顾客退票模块 (8)
5.4 查询航班模块 (9)
5.5 查询订单模块 (9)
5.6 修改航班模块 (9)
6 程序调试与测试 (11)
6.1 合法数据测试结果 (11)
6.2 非法数据测试结果 (13)
7 结果分析 (15)
7.1 输入 (15)
7.2 输出 (15)
总结 (16)
参考文献 (16)
ii
1问题背景
订票系统是一种新兴的现代商务方式,近几年来得到了迅速发展,显现了巨大的现代商业价值。有理由相信,订票系统将逐渐方便盛会生活,也将成为数字化社会的一种重要体现。它改变了传统的买卖双方面堆满的交流方式,也打破了旧有工作经营模式,它通过网络使航空公司面对整个世界,为用户提供每周7天,每天24小时的全天候服务。网上订票的规模正在逐年迅速增长,它带来的商机是巨大而深远的。订票系统研究的主攻方向是通过公共计算机通信网络进行网上订票活动,突破传统商务在时间、地域上的限制,成为方便、快捷、安全可靠的新兴电子化商务活动模式。是网上订票活动更安全、可靠、快速、明确和方便。
对航空公司来说,航空订票管理系统既能扩大服务范围,扩大公司影响,减少营业费用,又对稳固航空公司的客源有着重要的辅助作用;站在旅客的角度,航空公司提供的这种服务提供了更多的方便,节省了很多时间。建设航空订票管理系统是体现和提高航空公司领导业绩的一条捷径。
2问题分析
通过此系统可以实现如下功能:
录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)
查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);
可以输入起飞抵达城市,查询飞机航班情况;订票:(订票
情况可以存在一个数据文件中,结构自己设定)
可以订票,如果该航班已经无票,可以提供相关可选择航班;退
票:可退票,退票后修改相关数据文件;客户资料有姓名,证件
号,订票数量及航班情况,订单要有编号。
修改航班信息:当航班信息改变可以修改航班数据文件
1
3需求分析
3.1 用户需求分析
用户使用此程序所要完成的工作主要为:录入和查询所有航线信息、查看已订票客户信息、查询航线、办理订票业务、办理退票业务。通过此系统可以方便的进行上述工作。每条航线所涉及的信息有:终点站名、航班号、飞行时间、票价、乘员定额、余票量。已订票的客户名单信息包括姓名、订票量、舱位等级(1,2或3)。等候替补的客户名单信息包括姓名、所需票量。查询航线功能可以根据旅客提出的终点站名输出航班号、飞行时间、票价、乘员定额、余票量。
订票业务功能根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于定票额,则需重新询问客户要求。若需要,可登记排队候补购票。退票业务功能根据客户提供的情况(航班号、姓名)为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。
3.2功能需求分析
1.功能模块说明:
(1) 将航班的基本信息录入到系统中。
(2) 根据航班号或者根据起飞地点、降落地点查询所需航班信息。
(3) 输入姓名和所要订航班的航班号订票。
(4) 输入姓名和所订航班的航班号办理退票。
(5) 输入航班号,修改该航班的起飞和降落时间以修改航班的起降时间。
(6) 退出的同时将信息写入文件。
2. 订票系统功能图
2
订票系统
录办办查查航退
入理理询询班出
航订退航订信系
班票票班单息统
信业业信信修
息务务息息改
图 3.1订票系统结构图
3.3 系统需求分析
开发环境:PC机,Windows 7系统
运行软件:Microsoft Visual C 6.0
4逻辑设计
4.1 数据结构
1航班的信息:航班的情况存储结构采用单链表,每个元素表示一个航班的情况,包括航班号、起飞时间、降落时间、起飞城市、抵达城市、航班票价、票价折扣、确定航班是否满仓和空座数九个数据项:
表3.1 航班信息的数据结构表
数据项数据类型
航班号字符串(char)
起飞时间字符串(char)
降落时间字符串(char)
起飞城市字符串(char)
抵达城市字符串(char)
航班是否满仓整型(int)
空座数整型(int)
票价浮点数(float)
票价折扣浮点数(float)