- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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 订票信息结
您可能关注的文档
- 手绘线条-物象空间的表达.ppt
- 手绘效果图技法.ppt
- 手机彩票客户端方案.ppt
- 手机零售店培训大全.doc
- 手机上网业务多波次营销模式.ppt
- 手机旺季快速成交技巧.doc
- 手机维修以及元器件的功能.doc
- 手机游戏《铸剑传说》策划案.doc
- 手机游戏设计初体验.doc
- 手机支付产业相关分析报告.doc
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)