- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目 录
一、概述 1
二、系统分析 1
1.航班信息的查询与检索 1
2.航班信息查询与检索数据结构理论 1
三、概要设计 2
1.系统的功能 2
2.系统模块分析及其流程图 3
四、详细设计 6
1.各函数说明 6
2.定义相关数据类型 8
3. 航班信息的查询 9
五、 运行由于测试 12
六、总结与心得 16
参考文献 16
附录 16
一、概述
随着信息产业的飞速发展,信息化管理及查询已经进入并应用到各行各业,影响着人们的价值观念和生活方式。因此,要提高企业信息化建设,利用先进的办公自动化系统来实现企业内部信息管理、共享及交流,从而提高企业综合实力。
本次设计是针对航班的查询系统,该设计要求对飞机航班信息进行排序和查询。可按航班的航班号、起点站、终点站等信息进行航班信息的查询。
二、系统分析
1.航班信息的查询与检索
2.航班信息查询与检索数据结构理论
三、概要设计
.系统的功能
本任务要求对飞机航班信息进行排序和查找。可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。本设计主要是对排序以及查找等概念进行综合练习。以链式基数排序为主线,用到二分查找和顺序查找等知识,还有建立静态链表等相关概念。
2.系统模块分析及其流程图
(1)航班排序
对输入系统内的航班首先要进行排序,我们采用的基数排序,从低位到高位依次对关键字进行分配和收集,分两段实现其算法流程图。
(2)时间查找
根据航班的起飞时间(到达时间)查找航班的信息。
(3)二分法查找功能
(4)显示功能
显示功能是将所求单词的所有行列信息依次显示在屏幕上。
四、详细设计
各函数说明
void distribute_c(slnode *sl,int i,arrtype_c f,arrtype_c e)
{//一趟字母分配字符函数
int j,p;
for(j=0;jradix_c;j++)
{
f[j]=e[j]=0;
}
for(p=sl[0].next;p;p=sl[p].next)
{
j=sl[p].keys[i]%65;
if(!f[j])
f[j]=p;
else
sl[e[j]].next=p;
e[j]=p;
}
}
2.一趟收集函数
void collect_c(slnode *sl,int i,arrtype_c f,arrtype_c e)
{
int j,t;
for(j=0;!f[j];j++);
sl[0].next=f[j];
t=e[j];
while(jradix_c-1)
{
for(j=j+1;jradix_c-1!f[j];j++);
if(f[j])
{
sl[t].next=f[j];
t=e[j];
}
}
sl[t].next=0;
}
3.链式基数排序
void radixsort(sllist l)//链式基数排序函数
{
int i;
arrtype_n fn,en;
arrtype_c fc,ec;
for(i=0;il.length;i++)
l.sl[i].next=i+1;
l.sl[l.length].next=0;
for(i=l.keynum-1;i=2;i--)
{
distribute(l.sl,i,fn,en);
collect(l.sl,i,fn,en);
}
for(i=1;i=0;i--)
{
distribute_c(l.sl,i,fc,ec);
collect_c(l.sl,i,fc,ec);
}
}
4.二分法查找函数
int binsearch(sllist l,keytype key[])
{
int low,high,mid;
low=1;
high=l.length;
while(low=high)
{
mid=(low+high)/2;
if(strcmp(key,l.sl[mid].keys)==0)
return mid;
else if(strcmp(key,l.sl[mid].keys)0)
high=mid-1;
else
low=mid+1;
}
return 0;
}
2.定义相关数据类型
根据设计要求我们知道所用的记录中只有航班信息,因此要定义相关的数据类型,其源程序如下:
typedef struct
{
char start[6];//起点
char end[6]; //终点
char sche[10];//班期
char time1[5];//起飞时间
char time2[5];//到达时间
char model[4];//机型
int price; //票价
}infotype; //航班记录类型
typedef struc
文档评论(0)