1、 数据结构课程设计报告书数据结构课程设计报告书 姓名: 性别: 班级: 学号: 日期: 一、 课程设计题目:课程设计题目:航班信息查询与检索 二、 课程设计内容:课程设计内容: 1、 设计一个航班信息查询与检索系统, 每个航班记录包括: 航班号、 起始站、 终点站、 起飞时间、到达时间、有效期。 2、要有输入模块。 3、对航班信息进行排序与查找。 三、 算法设计算法设计: 设计思路: 根据题目要求, 程序必须实现航班信息的录入和查询。 程序首先定义一个用于储存 航班信息的数据类型, 再由用户录入航班数据, 在录入的同时并对数据进行基数排序, 最后执行数据查询和检索。在查询设计中,使用折半查找法
2、对排好序的航班数据按航 班号实现快速查找,按起点站、终点站、起飞时间、到达时间查找的则采用顺序查询 方法。用到了文件的一般概念。 主要算法流程图如下: 四、 程序正确性验证程序正确性验证(指边界测试数据,即程序对于精心选择的典型、苛刻而带有刁难性 的几组输入数据能够得出满足要求的结果) 截取的程序运行情况如下图所示 初始化信息初始化信息 进行排序进行排序 主菜单显示主菜单显示 输入查询序输入查询序 判断序号是否判断序号是否 合法合法 按航班按航班 号查询号查询 按时间按时间 查询查询 按地点按地点 查询查询 按票价按票价 查询查询 输出航班信输出航班信 结束结束 开始开始 五、 课程设计过程中
3、出现课程设计过程中出现的主要问题、原因及解决方法:的主要问题、原因及解决方法: 首先是要实现所要的功能需用什么数据结构的问题,比如排序问题究竟用那一种,在同 学的帮助下和上网搜寻资料,采用基数排序最符合,程序无法运行 ,最后在大家的努力下 一起修改错误使得程序可以正常运行。 六、 课程设计的主要收获:课程设计的主要收获: 1、 通过这次课程设计使我对平时课上所学的知识有了更加深刻的理解,增加了熟练 应用的程度,对解决问题的思路和算法设计思想有了更深刻的认识,解决问题的思路 是关键。 2、 这次课程设计使我看到了自身还存在着很多不足,对与一些基本的问题掌握的不 是很扎实,在设计过程中平添了不少麻
4、烦。要继续对知识进行巩固,加深印象。 3、 遇到问题要积极与同学或者是老师进行沟通,这样能够少走不少弯路。 4、 以后不管是做什么应定要用心才能做好,不能偷工减料。 七、 对今后课程设计的建议:对今后课程设计的建议: 1、 今后的课程设计可以更加贴近于生活,贴近于现实,提高我们把书上学到的知识 应用到现实生活中的能力,以及在现实社会中遇到问题的解决能力。 2、可以变换一种方式,减少或者是杜绝同学钻空子和偷工减料的机会。 附录附录(源程序代码) #include #include #include #include #define MAXSIZE 50 typedef struct int ho
5、ur; int minute; time; typedef struct int year; int month; int day; date; typedef struct information char number7; /航班号 time start; /起点站 time end; /终点站 char start_station16; /起飞时间 char end_station16; /到达时间 date date_1; /有效期 date date_2; information *next; info; void screen() coutnext=NULL; count+; vo
6、id insert_info(info *info_1,int coutnumber; coutstart_station; coutend_station; coutstart.hourinfo_1count-start.minute; coutend.hourinfo_1count-end.minute; coutdate_1.yearinfo_1count-date_1.monthinfo_1count-da te_1.day info_1count-date_2.yearinfo_1count-date_2.monthinfo_1count-d ate_2.day; if(count) info_1count-1-next=info_1count; info_1count-next=NULL; count+; void distribute(info *info_1,info *info_2,info