1、数据结构实验报告航空订票系统 1 / 22 数据结构 课程设计报告 设计题目: 航空客运订票系统 院 系 计算机学院 年 级 xxxxx 学 生 xxx 学 号 xxxxxxxxxxx 指导教师 xxxxxxxxxxx 起止时间 9-6/9-13 2013 年 9 月 10 日星期二 数据结构实验报告航空订票系统 2 / 22 目目 录录 一、一、 课程设计目的课程设计目的 3 二、二、 需求分析需求分析 3 三、 概要设计概要设计 1设计步骤 4 2系统整体结构图 5 3功能模块及调用关系说明 5 四四、 详细设计和源代码详细设计和源代码 1.实现概要设计中定义数据的存储结构 6 2.查询航
2、线信息功能的算法设计 7 3.订票功能的算法设计 9 4.退票功能的算法设计 12 5.录入功能的算法设计 14 6.总航线预览功能的程序源代码 15 五、调试分析五、调试分析 1.各功能的具体实例分析 16 2.实验过程中出现的问题及解决方法 20 六、六、课程设计总结课程设计总结 20 七、参考资料七、参考资料 21 数据结构实验报告航空订票系统 3 / 22 一、一、 课程设计目的课程设计目的 (1) 熟练使用 C 语言编写程序,解决实际问题; (2) 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; (3) 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基
3、本方法和技能; (4) 提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 航空订票系统: (1)熟练掌握链表存储结构及其建立过程和常用操作; (2)熟练掌握队列的建立过程和常用操作; (3) 学会自己调试程序的方法并掌握一定的技巧。 二、二、 需求分析需求分析 问题描述:问题描述:航空客运订票的业务活动包括:查询航线、客票预订和办理退票等。试设计 一个航空客运订票系统,以使上述业务可以借助计算机来完成。 设计任务:设计任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) 查询:可以查询某个航线的情况(如,输入航班号,查询起
4、降时间,起飞抵达城市,航 班票价,票价折扣,确定航班是否满仓) ;可以输入起飞抵达城市,查询飞机航班情况;根 据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期 和余票额; 订票:(订票情况可以存在一个数据文件中,结构自己设定)根据客户提出的要求(日 期、航班号、订票数额)查询该航班票额情况,若尚有余额,则为客户办理订票手续,输出 座位号;若已满员或余票额少于订票额,则需要重新询问客户要求。若需要,可预约登记排 队等候。如果该航班已经无票,可以提供相关可选择航班; 退票:根据客户提供的情况(日期、航班、退票数额) ,为客户办理退票手续,然后查 询该航班是否有人预约
5、登记,首先询问排在第一的客户,若所退票额能满足他的要求,则为 他办理订票手续,否则依次询问其他排队预约的客户退票成功后修改相关数据文件。 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 修改航班信息:当航班信息改变可以修改航班数据文件 要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。 测试数据:由学生任意指定,但报告上要求写出多批数据测试结果。 实现提示:每条航线应包含的信息有:终点站名、航班号、飞机号、飞行日期(星期 几) 、乘员定额、余票额、已订票的客户名单(包括姓名、订票额、座位号)和预约登记的 客户名单(包括日期、姓名、所需票额) 。这最后两项显然是一个线性表和一个队列。为查 数据结构实验报告航空订票系统 4 / 22 找方便、已订票客户的线性表应按客户姓名有序,并且,为插入和删除方便,应以链表作存 储结构。由于预约人数无法预料,队列也应以