数据结构之航班信息查询与检索

Markdown首次练习

数据结构之航班信息查询与检索

一、 课程设计名称:航班信息查询与检索
二、 使用工具软件Visual C++ /Dev-C++
在这里插入图片描述

三、 课程设计内容简介:
根据题目所要求,程序必须实现航班信息的录入和查询。每条航班记录包括8项:航班号、起始站、终点站、班期、起飞时间、到达时间、飞机型号、票价并且要按不同的关键字对用户指定的航班信息进行查询与检索,有输入和输出模块。
本系统需要实现航班信息的录入和按不同关键字的查询,并显示查询结果。在程序中,分别以航班号、始点站、终点站、起飞时间和到达时间为关键字,使用顺序查找法或折半查找法对航班记录进行查询。而在查找之前,需要对关键字进行排序。
四、基本要求:

友好性:界面要友好,输入有提示,尽量展示人性化
可读性:源程序代码清晰、有层次
健壮性:用户输入非法数据时,系统要及时给出警告信息

准备工作

拿到此课题后首先要确定课题所需要实现的功能,并对程序有一个前期的设想,同时要保证界面的美观简洁。
五、设计思路如下:

  1. 思考代码的主要框架该如何分布,画出基本结构流程图,有利于后面的编程环节顺利进行。

2.模块安排:首先,把输入板块放在最前面,用来输入航班信息的记录,然后把关键字分为六个模块进行航班信息的查询。输入板块要设定一个结构体函数,里面包含航班信息的8项基本信息,用来录入所有的航班信息。

struct fly{
char flight_num[10];
char start[10];
char endp[10];
char dats[10];
int takeoff;
int landtime;
char type[10];
int price;
}a[10];
typedef fly Fly;
  1. 确定整体函数的主框架,即main函数应该包含哪些内容。在程序中,要分别以航班号、始点站、终点站、起飞时间和到达时间为关键字,所以确定主函数用switch语句分别对应6个关键字的查找,即相关函数的调用。
int main()
{   int t;cin>>t;init(t);int n;while(1){printf("请选择查找的内容:1.航班号  2.起点站 3.终点站 4.起飞时间 5.到达时间 6.价格 \n");cin>>n;switch(n){case 1:find_num(t);break;case 2:find_sta(t);break;case 3:find_endp(t);break;case 4:flytime(t);break;case 5:offtime(t);break;case 6:pricedown(t);break;case 0:return 0;}}return 0;
}

4.函数的初始化:用何种函数去定义就会影响整个代码的运行过程。Scanf函数用来接收输入的字符或信息,用字符数组更简便去定义,但是航班信息的容量不好控制,用线性表可以更方便查询与记录。

	初始化函数:
void init(int n){int i;//cin>>n;for(i=0;i<n;i++){//scanf("%s %s %s %s %d %d %s %d",a[i].flight_num,a[i].start,a[i].endp,a[i].dats,&a[i].takeoff,&a[i].landtime,a[i].type,&a[i].price);scanf("%s",a[i].flight_num);scanf("%s",a[i].start);scanf("%s",a[i].endp);scanf("%s",a[i].dats);scanf("%d",&a[i].takeoff);scanf("%d",&a[i].landtime);scanf("%s",a[i].type);scanf("%d",&a[i].price);}
}

5.程序的完善和运行

前面的准备工作以及功能代码的完成并不能代表整个代码顺利进行,还要进行最后的测试、修改以及完善。

六、 课程设计中目前存在的问题
此程序由于个人能力有限,没有能够运用线性表对航班信息进行录入,以及缺乏对某个航班具体时间的查询。航班信息的容量由于使用数组定义导致容量有限。
在这里插入图片描述

最后的运行结果在这里插入图片描述

七、 设计实践过程中的自我感受

  1. 通过此次课程设计我懂得了理论与实际相结合是很重要的,光有理论知识是不能够达到学习数据结构这门专业课的目的。只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正实现利用所学数据结构的知识实现一系列开发,也从而提高自己的实际动手能力和独立思考的能力。此次课程设计虽然存在很多困难,但仍通过借鉴书本上的知识,和自身学习知识能力相结合将此次作品呈现了出来。
  2. 航班信息的录入模块信息不能写死,虽然每次都要录入航班相关信息,但要比更改整个程序信息简单。
  3. 学习数据结构使我们更好的掌握编程相关知识,此次“航班信息的查询与检索”更是贴合我们的生活,使我更好地认识了编程能力的重要性与方便性。我们不仅要学习理论知识,还要学会与实践相结合,只有这样,才能发挥学习此课程的目的和意义。
  • 完成任务Alt

八 == 主要参考资料==

[1]严蔚敏等,《数据结构》,清华大学出版社,北京,2000。
[2]谭浩强,《C语言程序设计》,清华大学出版社,北京。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部