1 概述
1.1 问题描述
随着科技与经济的发展,当今乘飞机旅行的人越来越多,人们需要关心了解各类航班的班次、时间、价格及机型等信息。在这个飞机航班数据的模型中,航班号是关键字,而且是具有结构特点的一类关键字。通过关键字的输入,你将获得你所需要的航班的所有信息。
1.2 设计题目
航班信息的查询与检索
1.3 基本要求
1 每个航班包括8项基本要求:航班号、起始站、终点站、班期、起飞时间、到达时间、飞机型号、票价。 2 要有输入模块。  3 对航班信息进行排序与查。
2 系统分析
2.1 功能需求分析
(1)输入航班信息
(2)按不同类型查询航班信息:输入航班号,显示相应信息
                            输入起点站,显示相应信息
                            输入终点站,显示相应信息
                            输入起飞时间,显示相应信息
                            输入到达时间,显示相应信息
2.2 设计要求
该设计要求对航班信息进行排序和查询。可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。对于本设计,可采用基数排序法对一组具有结构特点的飞机航班号进行排序,利用二分查法对排好序的航班记录按航班号实现快速查,按其他关键字的查可采用最简单的顺序查方法进行,因为它们用的较少。每个航班记录包括八项,分别是:航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号以及票价等。(假
设航班信息如下所示)
航班号
起点站
终点站
班期
起飞时间
到达时间
机型
票价
CA1544
合肥
北京
1.2.4.5
1055
1240
733
960
MU5341
上海
广州
每日
1420
1615
M90c 字符串数组怎么定义
1280
CZ3869
重庆
深圳
2.4.6
0855
1035
733
1010
MU1836
桂林
南京
2.3.4.6.7
2050
2215
M90
1380
HU1836
上海
北京
每日
0940
1120
738
1250
CZ3528
成都
厦门
1.3.4.5.7
1510
1650
CRJ
1060
MU4594
昆明
西安
1.3.5.6
1015
1140
328
1160
SC7425
青岛
海口
1.3.6
1920
2120
DH4
1630
其中航班号一项的格式为:
k0              k1              k2              k3              k4              k5
C
Z
3
8
6
9
其中k0和k1的输入值是航空公司的别称,用两个大写字母表示,后4位为航班编号,这种航班号关键字可分成两段,即字母和数字。其余七项输入内容因为不涉及本设计的核心,因此除了票价为数值型外,均定义为字符串型即可。
3 概要设计
3.1 设计思路
根据题目所要求,程序必须实现航班信息的录入和查询。程序首先定义了一个用于储存航班信息的数据类型,再由用户录入航班数据,在录入的同时并对数据进行排序,最后执行数据查询和检索。在查询设计中,使用二分查法对排好序的航班数据按航班号实现快速查,按起点站、终点站、起飞时间、到达时间查的则采用顺序查询方法。
3.2 各函数说明
(1)一趟数字字符分配函数
void Distribute(SLNode *sl,int i,ArrType_n f,ArrType_n e)
(2)一趟数字字符收集函数
void Collect(SLNode *sl,int i,ArrType_n f,ArrType_n e)
(3)一趟字母字符分配函数
void Distribute_c(SLNode *sl,int i, ArrType_c f,ArrType_c e)
(4)一趟字母字符收集函数
void Collect_c(SLNode *sl,int i, ArrType_c f,ArrType_c e)
(5)链式基数排序函数
void RadixSort(SLList &L)
(6)按指针链重新整理静态链表
void Arrange(SLList &L)//重新整理
(7)二分查函数
int BinSearch(SLList L,KeyType key[])
(8)顺序查函数
void SeqSearch(SLList l,KeyType key[],int i)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。