数据结构 航班客运订票程序 课程设计报告.doc

数据结构 航班客运订票程序 课程设计报告.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
合肥学院 计算机科学与技术系 课程设计报告 2009~2010学年第 二 学期 课程 数据结构与算法 课程设计名称 航班客运订票程序 学生姓名 学号 专业班级 指导教师 李红 沈亦军 2010年6月 题目:(航班客运订票系统)通过此程序要求实现如下功能:(1)录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定);(2)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);(3)可以输入起飞抵达城市,查询飞机航班情况;(4)订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;(5)退票:可退票,退票后修改相关数据文件;(6)客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。(7)修改航班信息:当航班信息改变可以修改航班数据文件。 一、问题分析和任务定义 航班客运订票系统是航空公司最常用的系统之一。它通常是为了解决公司相关信息的录入以及客户对有关信息的查询等问题。因此,为了它的实用性,该程序应包括以下以下功能: 录入:可以录入航班的必要信息,如:航班号、起飞城市、抵达城市、起飞抵达时间等信息; 查询航班:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 查询城市:可以输入起飞抵达城市,查询飞机航班情况; 订票:可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票:可退票,退票后修改相关数据文件。 在该程序中,解决问题的关键在于航班信息以及订票信息的数据结构该如何设置。在录入过程中,需要输入的时间、城市、航班号皆是字符型,剩余票量、票价是整型;查询时,输入城市、航班号也是字符型;订票时,需要输入的航班号、姓名、身份证号以及设置的密码都是字符型,而订票量是整型;退票时,输入的航班号、姓名以及设置的密码同样都是字符型。浏览航班信息时,输出整个航班的相关信息;查询时,输出所查航班的相关信息;并且在所有操作中都显示操作是否正确以及当信息为空时,输出相关说明。 二、数据结构的选择和概要设计 本程序设计中,定义了两个数据结构类型,一个是订票信息类型,它包括客户的姓名、身份证号、设置的密码以及指向自身的地址;另一个是航班信息类型,它包括航班号、起飞和抵达城市、起飞和抵达时间、票价、剩余票量、订票信息类型的指针以及指向自身的指针。为了实现要求的功能,它的概要设计如下: 1、在函数insert()中为了录入航班的相关信息,航班信息类型的数据结构采用线性结构的单链表存储输入的航班信息,没输入一个航班信息时,创建一个该类型的结点,采用尾插法邻接到单链表中; 2、在浏览函数print()中,对单链表从头到尾的遍历,同时输出每一个结点的相关信息直到所有的结点都输出结束; 3、在查询函数search()中,首先分为两种查询方式:通过航班号查询和通过起飞抵达城市查询。对前一种查询,根据输入的航班号对单链表进行遍历,当查到与所输入的相同时,输出该结点的相关信息,并且结束循环;对于后一种查询,同时输入起飞抵达城市,对单链表进行遍历,只有当查到与所输入的起飞抵达城市都相同时才输出相关信息,同时继续向后遍历,只到所有的结点都被遍历一遍结束; 4、在订票函数bookticket()中,首先输入所属的航班号,通过一个查找函数find()确定是否有这一航班,如果没有返回空地址,否则返回对应的航班结点的地址,然后根据上面的返回结果,若为空则输出相关说明,不为空时在继续输入客户需输入的相关信息,最后构造一个订票信息结点,并把它邻接到相应的航班信息结点上; 5、退票函数中,同样先输入已定票的航班号,再通过find()函数查找是否有这一航班信息,若没有,输出相关说明,否则继续输入姓名、设置的密码,查找相应航班号下的订票信息中是否相同的信息,若有则删除这一信息,并且在相应的航班信息中改变它的剩余票量,最后在释放其所占的空间。 为了形象的描述程序的结构以及各功能函数之间的调用关系,用图形表示如下: 三、详细设计和编码 根据概要设计中的分析要点对其进行更加细致的分析和设计就是详细设计。首先,定义相关的结构类型,包括航班信息结点类型和订票信息结点类型,用图表示如下: 起飞城市 抵达城市 起飞时间 抵达时间 航班号 票价 剩余票量 订票信息的指针 *ptr 自身指针*next 航班信息结点(Airplane) 客户姓名 身份证号 设置的密码 订票数量 自身指针 *next 订票信息结

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档