数据结构航班信息的管理实验创新.docVIP

  • 9
  • 0
  • 约1.09万字
  • 约 19页
  • 2016-06-08 发布于湖北
  • 举报
数据结构课程设计 实验课程: 航班信息系统 班 级: 软件13301 组 长: XXXX 成 员:XXXX、XXXX、XXXXXX、XXXX 学 号:XXXXXXXXXX、1XXXXXXXXX、 1XXXXXXXXX、XXXXXXXXXX 指导教师: XXXXXXX 目录 一、 概述: 2 二、系统分析: 2 2.1 输入/输出形式和输出值 2 2.2 功能需求 3 2.3 系统特点 3 三、概要设计: 3 3.1 设计思路 3 3.2 数据处理 3 3.3 基本概念和数据处理 4 3.4 数据流图 6 四、详细设计: 7 4.1 设计说明 7 4.2 算法设计与分析 7 二分查找 7 4.3 算法实现 8 五、运行与测试: 9 六、总结与心得: 11 附录:程序代码 12 概述: 设计一个航班信息查询与检索系统。可事先按要求录入航班信息、删除航班信息、查看全部航班信息及按航班的航班号、起点站、终点站、起飞时间、以及到达时间等信息进行查询。 二、系统分析: 2.1 输入/输出形式和输出值 进入系统后,首先按照要求输入航班信息,包括:航班号、起点站、终点站、航班期、起飞时间、到达时间、票价。除票价为整型外,其他均为字符型。信息完成后均以Enter结束。 当输入完一个航班信息后,会提示是否继续输入,若要继续输入则重复上述步骤,否显示主菜单。 根据主菜单输入功能序号选择,若用户输入的值超过给定范围,则提示错误并要求重新输入。 2.2 功能需求 (1)输入航班信息 (2)删除航班信息,可按航班号、起点站、终点站、起飞时间、到达时间等删除 (3)按不同类型查询航班信息,如航班号、起点站、终点站、起飞时间、到达时间等 (4)显示当前所有的航班记录 (5)退出系统 2.3 系统特点 本系统的使用者是航空公司,操作人员只需具备基本的计算机操作技巧即可。 三、概要设计: 3.1 设计思路 根据设计要求,程序必须实现航班信息的录入和查询。程序首先定义了一个用于存储航班信息的数据类型,再由用户录入航班数据路,在录入的同时并对数据进行排序,最后执行数据查询和检索。在设计过程中,使用二分查找法对航班数据按航班号实现快速查找,按起点站、终点站、起飞时间、到达时间查找。 3.2 数据处理 3.3 基本概念和数据处理 3.4 数据流图 四、详细设计: 4.1 设计说明 1)利用起点站、终点站、起飞时间、到达时间为关键字来查询航班信息。 该查找算法使用最简单的顺序查找方法进行。即按照航班信息的结构体数组依次与被查找信息进行比较,若找到,则输出结构即可,若没找到,则输出相关的提示信息。 2)利用航班号作为关键字进行查询 由于设计内容要求使用基数排序对这组航班信息进行排序,并利用二分查找法对排好的航班记录按航班号实现快速查找,因此此算法设计包括基数排序和二分查找。 4.2 算法设计与分析 基数排序 基数排序是一种借助多关键字排序的思想对单逻辑关键字进行排序的方法,其是通过“分配”和“收集”两种操作对相应关键字进行排序。算法思路是按照排序关键字的每一位字符进行排序。排序前,先定义一个队列数组,每个队列数组与某个关键字位对应,某队列中只能存放与该关键字位对应的元素。首先先从关键字的最后一位字符进行判断,根据关键字位,把这个元素放入相应的队列中去,这就是“分配”过程。等到所有元素均被分配到相应队列中之后,在把各个队列中的元素,按照队列数组顺序,依次重新放回原元素数组中,这就是“收集”过程。经过“分配”和“收集”后,一次排序完成。接着再以关键字的倒数第二位字符作为关键字位进行上述排序过程,直到按照关键字的所有位全部进行排序过后,整个序列就成为有序序列,排序完成。二分查找 二分查找是对有序序列进行快速查找的一种有效方法。它的基本思想是,每次都与这个有序序列的中间元素进行比较,若找到,则输出元素信息,若没找到,则判断这个中间元素比待查找的元素大还是小,如果大,那么查找工作继续在该有序序列的前半段进行;反之,则继续查找该有序序列的后半段。如此一直查找,直到找到该元素或者查找到只剩下一个元素而这个元素与待查找元素不相符时,查找结束。前一种情况找到了待查找元素,输出该元素,后一种没有找到,输出相应提示信息。 typedef struct //定义航班信息的结构体,静态链表类型 { char terminal[6]; //定义起点站 char end[6]; //定义终点站 char flightNo[10]; //定义航班期 char startTime[5]; //定

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档