《数据结构》课程设计报告书。
姓名: 性别:
班级:学号:
日期:一、 课程设计题目:航班信息查询与检索。
二、 课程设计内容:
1、设计一个航班信息查询与检索系统,每个航班记录包括:航班号、起始站、终点站、起飞时间、到达时间、有效期。
2、要有输入模块。
3、对航班信息进行排序与查找。
三、 算法设计:
设计思路:根据题目要求,程序必须实现航班信息的录入和查询。程序首先定义一个用于储存航班信息的数据类型,再由用户录入航班数据,在录入的同时并对数据进行基数排序,最后执行数据查询和检索。
在查询设计中,使用折半查找法对排好序的航班数据按航班号实现快速查找,按起点站、终点站、起飞时间、到达时间查找的则采用顺序查询方法。用到了文件的一般概念。
主要算法流程图如下:
四、 程序正确性验证(指边界测试数据,即程序对于精心选择的典型、苛刻而带有刁难性的几组输入数据能够得出满足要求的结果)
截取的程序运**况如下图所示。
五、 课程设计过程**现的主要问题、原因及解决方法:
首先是要实现所要的功能需用什么数据结构的问题,比如排序问题究竟用那一种,在同学的帮助下和上网搜寻资料,采用基数排序最符合,程序无法运行 ,最后在大家的努力下一起修改错误使得程序可以正常运行。
六、 课程设计的主要收获:
1、 通过这次课程设计使我对平时课上所学的知识有了更加深刻的理解,增加了熟练应用的程度,对解决问题的思路和算法设计思想有了更深刻的认识,解决问题的思路是关键。
2、 这次课程设计使我看到了自身还存在着很多不足,对与一些基本的问题掌握的不是很扎实,在设计过程中平添了不少麻烦。要继续对知识进行巩固,加深印象。
3、 遇到问题要积极与同学或者是老师进行沟通,这样能够少走不少弯路。
4、 以后不管是做什么应定要用心才能做好,不能偷工减料。
七、 对今后课程设计的建议:
1、 今后的课程设计可以更加贴近于生活,贴近于现实,提高我们把书上学到的知识应用到现实生活中的能力,以及在现实社会中遇到问题的解决能力。
2、可以变换一种方式,减少或者是杜绝同学钻空子和偷工减料的机会。
附录(源程序**)
#include <>
#include <>
#include <>
#include <>
#define maxsize 50
typedef struct
void init_info(info *info_1,int &count)
fstream iofile(""ios::in|ios::out|ios::binary);
while(1)
info_1[count]=new info;
if(if(count) info_1[count-1]->next=info_1[count];
info_1[count]->next=null;
count++;
void insert_info(info *info_1,int &count)
info_1[count]=new info;
cout<<"航班号:";
cin>>info_1[count]->number;
cout<<"起点站:";
cin>>info_1[count]->start_station;
cout<<"终点站:";
cin>>info_1[count]->end_station;
cout<<"起飞时间(时分):"
cin>>info_1[count]->info_1[count]->
cout<<"到达时间(时分):"
cin>>info_1[count]->info_1[count]->
cout<<"有效期(年月日年月日):"
cin>>info_1[count]->date_>>info_1[count]->date_>>info_1[count]->date_
>>info_1[count]->date_>>info_1[count]->date_>>info_1[count]->date_
if(count) info_1[count-1]->next=info_1[count];
info_1[count]->next=null;
count++;
void distribute(info *info_1,info *info_2,info *info_3,int count,int state)
for(int i=0;i<26;i++)
info_2[i]=null;
info_3[i]=null;
for(int j=0;j
elsevoid collect(info *info_1,info *info_2,info *info_3)
for(int i=0,j=0;i<26;i++)
while(info_2[i])
void radix(info *info_1,info *info_2,info *info_3,int count)
for(int i=strlen(info_1[0]->number)-1;0<=i;i--)
distribute(info_1,info_2,info_3,count,i);
collect(info_1,info_2,info_3);
int bin_search(info *info_1,char *str,int low,int high)
int mid;
while(low<=high)
mid=(low+high)/2;
if(!strcmp(info_1[mid]->number,str))
return mid;
if(strcmp(info_1[mid]->number,str)<0)
low=mid+1;
elsehigh=mid-1;
return (-1);
void print(info *info_1,int state)
cout<<"航班号:"
<<"endl;
数据结构课程设计报告
东莞理工学院城市学院。题目 二叉排序树 专业 计算机科学与技术 本 年级 2010级计算机科学与技术专业 1 班。个人姓名 何振江。指导教师 张娟老师 时间 2010至2011第二学期第18周 地点 实验楼615机房 东莞理工学院城市学院计算机与信息科学系制。2011年 6月。实习报告的内容。一 问...
数据结构课程设计报告
设计一个校园导游程序,为来访的客人提供信息查询服务。1 设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图 无向网 以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。2 存放景点代号 名称 简介等信息供用户查询。3 为来访客人提供图中任意景点相关信息的查询。4 为来访客人提供...
数据结构课程设计报告
河北科技大学。课程设计报告。学生姓名学号。专业班级。课程名称数据结构。学年学期 2 012 2 013学年第 2 学期指导教师 黄春茹。2 0 13年 6 月。课程设计成绩评定表。一 数据结构课程设计目标。二 问题描述。三 需求分析。四 概要设计。五 详细设计。六 软件说明书 给出软件如何使用,使用...