- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构与算法课程设计报告——航班信息查询系统(C)
数据结构与算法课程设计报告
计算机学院
软件工程
摘要 3
第一章 绪论 4
1.1课程设计选题 4
1.1.1选题描述 4
1.1.2选题要求 4
第二章 系统需求分析 4
2.1输入/输出形式和输出值 4
2.2功能需求 4
2.3数据流图 5
2.4 用户特点 5
2.4 假定和约束 5
第三章 概要设计 5
3.1设计思想 5
3.2基本设计概念和处理流程 6
3.3存储结构设计 8
第四章 详细设计 9
4.1程序设计说明 9
4.2算法设计与分析 9
4.2.1基数排序: 9
4.2.2二分查找 9
4.3算法实现 10
4.4函数说明 10
第五章 测试 11
5.1核心算法复杂性分析 11
5.2测试数据及结果 11
第六章 总结 11
摘要
本课程设计目的在于检验数据结构及算法设计与分析两门课程的学习成果,从而加深对所学的知识的进一步理解与巩固。
本次课程设计过程中本人主要根据课本中的理论与算法编写程序,体现以课本知识的应用为主,在学习了数据结构的基础上,以能够更加熟练的应用所学知识,并能结合一些著名算法来实现对一些实际问题的应用,从而更为深刻理解数据结构与算法的内涵。
本次课程设计利用C++语言编写程序,实现对飞机航班信息进行排序和查找。
绪论
随着信息产业的飞速发展,信息化管理及查询已经引入并应用到各行各业,影响着人们的价值观念与生活方式。因此,要提升企业竞争力,就要大力推进企业信息化建设,利用先进的办公自动化系统来实现企业内部信息管理、共享及交流,从而提高企业综合实力。
1.1课程设计选题
1.1.1选题描述
该设计要求对飞机航班信息进行排序和查找。可按航班的航班号、起点站、终点站、起飞时间以及到达时间等信息进行查询。
1.1.2选题要求
(1)每个航班记录包括8项,分别是:航班号、起点站、终点站、航班期、起飞时间、到达时间、机型以及票价,如下给出一个航班记录的例子:
航班号 起点站 终点站 航班期 起飞时间 到达时间 机型 票价
CA1544 合肥 北京 1.2.4.5 1055 1240 M90 960
(2)从键盘输入各记录。
(3)采用基数排序方法对飞机航班号进行排序,然后利用二分查找的方法对排好序的航班记录按航班号实现快速查找。
(4)按其它次关键字的查找可采用最简单的顺序查找方法进行,因为它们用得较少。
系统需求分析
2.1输入/输出形式和输出值
进入系统后,首先提示输入航班信息,包括:航班号、起点站、终点站、航班期、起飞时间、到达时间、票价。除票价为整型外,其他均为字符型。每个信息以回车键输入。
当输入完一个航班信息后,会提示是否继续输入,若要继续输入则重复上述步骤,否则显示主菜单。
根据主菜单输入功能序号,若用户输入的值超过给定范围,则提示错误并要求重新输入。
2.2功能需求
(1)输入航班信息
(2)按不同类型查询航班信息:输入航班号,显示相应信息;
输入起点站,显示相应信息;
输入终点站,显示相应信息;
输入起飞时间,显示相应信息;
输入到达时间,显示相应信息;
(3)退出系统
2.3数据流图
2.4 用户特点
本系统的最终用户是航空公司,操作人员只需具备基本的计算机操作技巧即可。
2.4 假定和约束
本系统在开发过程中,由于技术原因可能会影响到系统的某方面,如有错误或未实现的功能,可以另选其他可行方案。
概要设计
3.1设计思想
对航班信息实现基数排序,利用折半查找(二分查找)的方法根据航班号实现查询,利用顺序查找的方法对根据其他信息实现查询。
3.2基本设计概念和处理流程
3.3存储结构设计
本系统采用链式存储的存储结构,分别定义三个结构体。
typedef struct //定义航班信息的结构体,静态链表类型
{
char terminal[6]; //定义起点站
char end[6]; //定义终点站
char flightNo[10]; //定义航班期
char startTime[5]; //定义起飞时间
char endTime[5]; //定义到达时间
char type[10]; //定义机型
int price; //定义票价
}infotype;
typedef struct
{
keytype keys[keylen]; //航班号,动态链表
infotype others;
int next;
}slnode;
typedef struct//定义存储信息的结构体
{
slnode sl[MAX];
int keynum; //信息数量,最大表长
int length;
文档评论(0)