航空信息查询系统 数据结构课程设计.docVIP

航空信息查询系统 数据结构课程设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
航空信息查询系统 数据结构课程设计

目 录 一、前言 1 二、需求分析 2 2.1 任务分析 2 2.2 程序所能达到的功能 3 2.3 输入的形式和输出值的范围 3 2.4 测试的数据及预测 3 三、概要设计 4 3.1 抽象数据类型的定义 4 3.2 主程序的流程 4 四、详细设计 5 4.1 各函数对应的伪代码算法 5 4.2 各函数调用关系图 6 五、调试分析 8 5.1 调试过程中遇到的问题及其解决办法 8 5.2 算法的时空分析 8 5.3 经验和体会 8 六、用户使用说明 8 七、测试结果 9 7.1 输入界面 9 7.2 按航班号进行查询界面 9 7.3 按起点站进行查询界面 10 7.4 按终点站进行查询界面 11 7.5 按起飞时间进行查询界面 11 7.6 按到达时间进行查询界面 12 7.7 退出航班信息查询系统界面 12 八、总结 13 九、参考文献 13 十、附录(源程序代码) 13 一、前 言 随着信息产业的飞速发展,信息化管理及查询已经进入并应用到各行各业,它影响着人们的价值观念和生活方式。因此,要提高企业信息化建设,我们可以利用先进的办公自动化系统来实现企业内部信息的交流、管理与共享,从而提高企业综合实力。因此在本次课程设计中,我们将针对航班信息查询系统,实现对飞机航班信息的排序和查询这两项人们最常用的功能。 在查询中,为了加快计算机对数据信息的查询速度,需要先对数据信息按关键字排序,在保证服务质量的前提下,实现查询效率的提高和服务时间的缩短。 在这个系统中,主要实现了以下几个功能,在航班信息输入之后,首先先用基数排序关于关键字航班号进行排序,在基数排序的时候,主要使用了以数字和字符两种处理方法;排序之后,开始根据自己设计的要求进行一系列的查询,按照航班号进行查询,按照航班号、起始站、终点站、起飞时间、到达时间进行一系列的查询。 二、需求分析 2.1 任务分析 航班信息主要包括:航班号、起点、终点、班期、起飞时间、到达时间、机型、票价,所以我们要根据这些信息设计飞机票的结构体,然后本系统需要以航班号为关键字进行基数排序,所以要创建航班号和航班信息为一体的链表,此航班链表因为还要需要排序比较,所以还要设计以航班号数目为基础的结构体,同时在设计过程中的基数排序将航班号分成了字母和数字两部分,所以还需要十个数字和二十六个字母的两个数组进行存储基数排序过程中的数据。实现基数排序不需要进行记录关键字间的比较。它是一种借助多关键字排序的思想对单逻辑关键字进行排序的方法。 现在来看基数排序,基数排序是借助“分配和搜集”两种操作对单逻辑关键字进行排序的一种内部排序方法。首先以静态链表存储n个待排序的航班信息记录(这里按航班号进行基数排序),并令表头指针指向第一个记录,第一趟分配对低数位关键字(个位数)进行,改变记录的指针值分配自n个队列中去,每个队列记录中的关键字的个位数相等。 第一趟收集是改变所有非空队列的队尾记录的指针域,令其指向下一个非空队列的队头记录,重新将n个队列中的记录链成一个链表,第二趟分配,第二趟收集及第三趟分配和第三趟收集分别是对十位数和对百位数进行的,其过程和个位相同,这样往返做,直到排序完毕。 对排序好了的航班记录要对它进行查找,怎样才能实现快速查找,首选的是二分查找,按关键字航班号进行快速查找。二分查找的查找过程为:先确定待查找查找记录所在范围(区间),然后逐步缩小范围直到找到或找不到该记录为止,选用二分查找是根据排序好了的航班信息,航班信息表已经是有序的。因为二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。 提示: 继续输入吗? y/n :y 显示: 航班号 起点站 终点站 班期 起飞时间 到达时间 机型 票价 CZ3869 北京 重庆 每日 0900 1102 856 1250 提示: 继续输入吗? y/n :n 录入完了就按n回车系统会自动进入排序处理系统,对录入的航班信息进行链式基数排序,完成后自动进入航班信息系统查询界面,在排序过程中是很快的,因为数据量小,一下就进入了”航班信息查询系统”界面 航班信息查询:进入查询界面,系统就会提供查询控制菜单显示: 选1进行按航班号二分查询,选2、3、4、 5分别按起点站、终点站、起飞时间、到达时间进行顺序查询,选0退出该系统。 三、概要设计 3.1 抽象数据类型的定义 typedef struct{ char start[8];//起点 char end[8];//终点 char sche[11];//班期 char time1[11];//起飞时间 char time2[11];//到达时间 char mode[5]

文档评论(0)

dajuhyy + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档