航班信息的查询和检索.解剖.doc

题目:航班信息的查询与检索 设计一个实用的航班信息查询和检索系统,要求能对飞机航班信息进行排序和查询。可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。 模型分析 当今乘飞机旅行的人越来越多,人们需要关心了解各类航班的班次、时间、价格及机型等信息。因此设计此航班信息查询系统。 本算法可对飞机航班信息进行录入、排序和查找,可按航班的航班号、起点站、终点站、起飞时间和到达时间信息进行查询。 (1) 输入的形式:选择功能时,应输入与所选功能对应的一个整型数据;输入航班信息包括航班号(由2位大写字母和4位数字组成)、起点站(1~6位字符)、终点站(1~6位字符)、班期(1~7位字符)、起飞时间(1~4位字符)、到达时间(1~4位字符)、机型(1~3位字符)和票价(整型数字)。 (2)输出的形式:提示用户输入功能代号;提示用户输入要查询的航班信息;显示给航班记录的相关信息,包括航班号、起点站、终点站、班期、起飞时间、到达时间、机型和票价信息。 (3)算法所采用的数据结构:用链式基数排序算法对航班号进行排序,按链表对各条记录进行有序化运算;用二分查找算法检索航班号信息,用顺序查找算法检索其他信息,显示查询结果。 (4)测试数据: /* CA1544 合肥 北京 1.2.4.5 1055 1240 733 960 n 1 CA1544 */ 操作顺序如下: 步骤一.航班信息输入。 CA1544 合肥 北京 1.2.4.5 1055 1240 733 960 Enter 步骤二.航班信息查询。 选择按航班号查询:1Enter 输入待查询的航班号:CA1544Enter 输入效验成功时,若查找到,即会显示该航班记录的相关信息: CA1544 合肥 北京 1.2.4.5 1055 1240 733 960 若未查找到,即会显示: “很抱歉,无此航班信息。” 验证失败时,即会显示: “错误信息:航班号须由2位大写字母和4位数字组成。” 然后结束此次操作。 算法设计 (1)为了实现上述程序功能,采用链式基数排序算法对航班号进行排序,然后便能用二分查找算法高效地检索航班号信息,其他信息的检索功能采用顺序查找算法实现。 (2)算法用到的抽象数据类型定义: ADT SInfor{ 数据对象:D={ei|ei∈StructSet, i=1,2,…,n,n=0} 数据关系:R1={ei-1,ei|ei-1,ei∈D,i=1,…,n} 基本操作: CreateSInfor(L) 操作结果:构造一个存储航班信息的链表。 DestroySInfor(L) 初始条件:L已存在。 操作结果:销毁L。 AddSInfor(L) 初始条件:L已存在。 操作结果:添加航班信息。 SearchSInfor(L) 初始条件:L已存在。 操作结果:查询航班信息。 DisplaySInfor(L) 初始条件:L已存在。 操作结果:显示航班信息。 }ADT Sinfor (3)主程序的流程: int main(void) { 初始化; 显示用户界面; 信息录入,并作输入效验; 执行查询; 退出系统; } (4)各程序模块之间的调用关系: main()调用Prompt(),InputData(),searchcon() InputData()调用Check_HangBanHao(),RadixSort() , Arrange() searchcon()调用BinSearch(),SeqSearch(),Display(),Prompt() RadixSort()调用Distribute(),Collect(),Distribute_c(),Collect_c() (5)函数调用关系图: 三、完整源程序 : #include iostream #include string.h #include conio.h #include windows.h #define MaxSpace 100 #define keylen 6 #define RADIX_n 10 #define R

文档评论(0)

1亿VIP精品文档

相关文档