《[全国交通咨询模拟]_课程设计报告》由会员分享,可在线阅读,更多相关《[全国交通咨询模拟]_课程设计报告(34页珍藏版)》请在金锄头文库上搜索。
1、计算机科学与技术学院数据结构课程设计数据结构课程设计指导教师二一八年一月十七日课程设计任务书及成绩评定课程设计任务书及成绩评定课程设计题目课程设计题目全国交通咨询模拟课程设计的目的和内容课程设计的目的和内容 设计目的:设计目的:通过数据结构课程设计的训练,达到以下目的:(1)巩固和加深对数据结构知识的理解,熟练掌 握几种重要的数据结构与算法,能够根据具体问题选择合适的数据结构并设计相应算法;(2)初步掌 握软件开发过程的需求分析、系统设计、程序测试和编码风格等基本流程和规范;(3)提高综合运用 所学的数据结构和算法知识独立分析和解决复杂工程问题的能力;(4)培养学生从事计算机相关专业 工作所应
2、具备的科学方法和基本素质。设计内容:设计内容:(根据具体题目简要阐述系统的总体任务、所需实现的功能、相应的子任务和模块分解、数据结构的选择和算法的设计、数据库的设计和存储、系统的重点测试内容等。本部分表格不得超出本页本部分表格不得超出本页范围,文档格式不得擅自改变。范围,文档格式不得擅自改变。) 从中国地图平面图中选取部分城市,抽象为程序所需要图的结点,并以城市间的列车路线和飞机路线,作为图结点中的弧信息,设计一个全国交通咨询模拟系统。利用该系统实现两种最优决策:最快到达或最省钱到达。程序所能达到的功能a.该系统有供用户选择的菜单和交互性。可以对城市、列车车次和飞机航班进行编辑,添加或删除。b
3、.建立一个全国交通咨询系统,该系统具备自动查找任意两城市间铁路、飞机交通的最短路径和最少花费及中转次数最少等功能。c.初始化交通系统有两种方式,键盘和文档。 数据存储:城市信息(城市名、代码)、交通信息(城市间的里程、各航班和列车时刻)存储于磁盘文件。建议把城市信息存于文件前面,交通信息存于文件的后面,用 fread 和 fwrite 函数操作。用不同的功能模块对城市信息和交通信息进行编辑。添加、修改、删除功能可用菜单方式或命令提示方式。只要能方便的对城市信息和交通信息进行管理即可,但要注意人机界面。最优决策功能模块(fast or province)。课程设计的创新和特色课程设计的创新和特色
4、(简要列举本设计的创新点和特色,比如应用了何种数据结构或算法使得排序或查找更为高效; 使用了何种数据库设计使得数据存储和检索更为高效;区别于其他项目组的特色或亮点等等。)在设计程序中,用邻接表作交通图的存储结构,表示边的结点中除含有邻接点的信息外,还包括交通工具、路程中消耗的时间和花费以及出发和到达的时间等属性。图中顶点城市的信息,包括城市名称、城市编号和依附该顶点的边的指针。利用迪杰斯特拉算法求花钱最少和花时间最少的交通方式。用 BFS 算法求从出发城市到终点城市所经最少中转站路径。用 QT 实现系统的可视化,系统不再是呈现在黑黑的控制台,增添了登陆界面,各种选项按钮,信息全部以表格的形式输
5、出,用户更可直接在表格中进行信息的增添修改,实现人机了界面。之所以使用它,主要有这么几个原因:上手快,入门成本低;跨平台。一处编写,处处编译运行,比如我们在 windows 下写了一个小软件,比如记事本,那么我们完全可以拷贝源码到 linux、mac 下进行对应的编译,这样编译出来的软件可以同时运行在各个平台上。信号和槽可以说是 Qt 的一大亮点,使用其原对象系统扩充了我们的对象之间交互的方式,真的很棒。设计进度及完成情况设计进度及完成情况日 期内 容2018/1/8-1/9需求分析,模块设计2018/1/10-1/12制作登录和系统主界面,实现用户管理模块的增,改,查功能。2018/1/13
6、-1/14实现文件的读写,用QT实现系统的可视化2018/1/14优化系统界面,测试数据,撰写实训报告 主要参考文献主要参考文献(参考文献的格式请严格遵守要求。本页表格打印不得超出本页范围。参考文献的格式请严格遵守要求。本页表格打印不得超出本页范围。) 1 严蔚敏,吴伟民.数据结构(C 语言版).北京:清华大学出版,1997.成绩评定成绩评定评语:指导老师: (签字)年 月 日 团队成绩目目 录录第 1 章 概述1第 2 章 系统分析2第 3 章 概要设计5第 4 章 详细设计10第 5 章 测试与运行23第 6 章 总结与心得28参考文献 291第第1 1章章概述概述旅客对由于出行目的的不同
7、对交通工具的要求也有不同。例如,因公事出差的旅客 希望在旅途中的时间尽可能短,出门旅游的游客则希望旅费尽可能省,而老年旅客则要 求中转次数最少。为了能满足广大旅客的需求,方便旅客出行,就此编制一个全国城市 间的交通咨询程序,为旅客提供两种或者三种最优决策的交通咨询。 通过此次程序可以对全国城市之间火车与飞机进行两方面的咨询,即最少的时间与 最少的费用的咨询,从而方便旅客的出行。 以邻接表作交通图的存储结构表示边的结点内除含有邻接点的信息外包括交通工具、 路程中消耗的时间,花费和中转站次数以及出发和到达的时间等多项属性。 根据具体最优决策的要求,用 Dijkstra 算法求出出发城市到其它各城市
8、的最优值 (最短时间或最小的费用),用 BFS 算法求从出发城市到终点城市所经最少中转站路径。搜索过 程中所经过城市的局部最优信息都保存在邻接表的表头数组中。其目的城市所代表的元 素中就保存了所需的最优决策结果。 输出结果,从目的城市出发,搜索到出发城市,所经过的城市均入栈(队列),再逐 一出栈栈(队列)中的城市,输出保存在表头数组中对应城市的信息(对方城市的出发信 息,里程、时间、费用等)及最终结果。即输出依次于何时何地乘坐几点的飞机或火车 于何时到达何地;最终所需的最快需要多长。用 QT 实现系统的可视化,增添了登陆界面,各种选项按钮,信息全部以表格的形式输出,用户 更可直接在表格中进行信
9、息的增添修改,实现人机界面。2第第2 2章章 系统分析系统分析 2.12.1系统需求系统需求从中国地图平面图中选取部分城市,抽象为程序所需要图的结点,并以城市 间的列车路线和飞机路线,作为图结点中的弧信息,设计一个全国交通咨询模拟 系统。利用该系统实现两种最优决策:最快到达或最省钱到达。2.22.2课题实现课题实现在对全国重要交通枢纽城市及交通工具信息充分调查了解后,依据对交通信 息数据流动特点的分析,现在可以进行系统的功能分析,根据软件工程的原理, 需求分析的任务是确定系统必须完成的工作。经过详细的调研分析之后,可以得 出全国交通咨询模拟系统必须具备的功能分为 8 个模块:2.2.1用户登录
10、 -全国交通咨询模拟系统!-* * 1、填写帐号 * * 2、填写密码 * * 3、登录 * * 4、退出 *请输入您的选择: 图 2.2.1 登录界面设计图2.2.2 添加城市-城市信息添加-* * 1、文件添加 * * 2、手动添加 * * 3、保存 * * 4、退出 *请输入您的选择:图 2.2.2 添加城市设计图32.2.3 显示全部信息-显示全部信息-* * 1、显示全部信息 * * 2、每次添加或更改后刷新 * * 3、退出 *图 2.2.3 登录界面设计图2.2.4 修改列车 -列车班次信息修改-* * 1、输入列车班次 * * 2、查询此列车 * * 3、修改列车信息:班次,起
11、始时 * * 间,费用 * * 4、退出 *请输入您的选择:图 2.2.4 列车信息修改设计图2.2.5 修改航班-航班信息修改-* * 1、输入飞机航班 * * 2、查询此航班 * * 3、修改航班信息:航班,起始时 * * 间,费用 * * 4、退出 *请输入您的选择:图 2.2.5 航班信息修改设计图42.2.6 计算最少中转站路线并打印-计算最少中转站路径-* 1、出发城市,到达城市 * * 2、BFS 算法求出最少中转站路经 * * 3、打印最少中转站路径 *图 2.2.6 计算最少中转站路线设计图2.2.7 计算最快路线并打印 -计算最快路线-* * 1、出发城市,到达城市 * * 2、Dijkstra 算法求出最短时间 * * 路径 * *