数据结构课程设计 交通咨询系统

上传人:cn****1 文档编号:494437356 上传时间:2022-10-25 格式:DOCX 页数:27 大小:335.07KB
返回 下载 相关 举报
数据结构课程设计 交通咨询系统_第1页
第1页 / 共27页
数据结构课程设计 交通咨询系统_第2页
第2页 / 共27页
数据结构课程设计 交通咨询系统_第3页
第3页 / 共27页
数据结构课程设计 交通咨询系统_第4页
第4页 / 共27页
数据结构课程设计 交通咨询系统_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《数据结构课程设计 交通咨询系统》由会员分享,可在线阅读,更多相关《数据结构课程设计 交通咨询系统(27页珍藏版)》请在金锄头文库上搜索。

1、课程设计报告课程名称数据结构课程设计课题名称专业通信工程班级通信1001班学号姓名指导教师田娟秀胡瑛曹燚2012 年 7 月 6 日湖南工程学院课程设计任务书课程名称数据结构课 题交通咨询系统专业班级通信1001班学生姓名学 号指导老师田娟秀 胡瑛 曹燚审 批田娟秀任务书下达日期 2012 年 7 月 1 日 任务完成日期 2012 年 7 月 6 日1.1 任务书课题六:交通咨询系统:在交通网络非常发达的今天,人们出差、旅游或做其他出行时,不仅关心节省交通 费用,而且对里程和所需时间等问题也很感兴趣。对于这样一个人们关心的问题,可用 一个图结构来表示交通网络系统,利用计算机建立一个交通咨询系

2、统。图中顶点表示城 市,边表示城市之间的交通关系。设计一个交通咨询系统,能让旅客咨询从任一个城市 顶点到达另外一个城市顶点之间的最短路径(里程)的问题。要求完成以下功能:(a) 以图中顶点表示湖南省各市(至少包括 8个以上的城市),存放城市名称、代号、 简介等信息,以边表示路径,存放路径长度等有关信息,先建立交通网络图的存储结构;(b) 为用户提供图中任何城市有关信息的查询;(c) 为用户提供任意城市的交通查询,即查询任意两个城市之间的一条最短路径。(d) 为用户提供指定城市的交通查询,即查询指定城市到其他城市之间的最短路 径。选做内容:(1) 提供图的编辑功能:增、删城市;增删路径;修改已有

3、信息等;(2) 交通图的仿真界面。1.2 选题方案:所选题目根据学号确定,学号模 6 加 1,即(学号%6+1)。如你的学号为 9,则 所选题目号为:9%6+1=(题目4)。注意,所有的课题都要求用图形方式演示步骤 和结果。同学们可以自己针对数据结构课程中所讲算法来设计一个演示过程的算法。1.3 设计要求:1.3.1 课程设计报告规范(1) 需求分析a. 程序的功能。b. 输入输出的要求。(2) 概要设计a. 程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模 块的功能。b. 课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。(3)

4、详细设计a. 采用C语言定义相关的数据类型。b. 写出各模块的类C码算法。c. 画出各函数的调用关系图、主要函数的流程图。(4)调试分析以及设计体会a.测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果。b. 程序调试中遇到的问题以及解决问题的方法。c. 课程设计过程经验教训、心得体会。(5)使用说明用户使用手册:说明如何使用你编写的程序,详细列出每一步的操作步骤。(6)书写格式a. 设计报告要求用A4纸打印成册:b. 一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。(7)附录源程序清单(带注释)1.3.2 考核方式指导老师负责

5、验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新 精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出 每位同学的课程设计成绩。具体考核标准包含以下几个部分:(1)平时出勤 (占 10%)(2)系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占 10%)(3)程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占 40%)(4)设计报告(占 30%) 注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。(5)独立完成情况(占 10%)。1.3.3 课程验收要求1)运行所设计的系统。(2)回答有关问题。(3)提交课程设计报告。(4)

6、提交软盘(源程序、设计报告文档)。(5)依内容的创新程度,完善程序情况及对程序讲解情况打分2进度安排第 20周:星期一8:0012:00上课星期一14:3018:30上机星期二14:3018:30上机星期三8:0012:00上机附:课程设计报告装订顺序:封面、任务书、目录、正文、评分表、附件阳大小的图纸及程序清单)。 正文的格式:一级标题用 3 号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为 22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能 的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代 码,要求

7、对程序写出必要的注释)。正文总字数要求在5000 字以上(不含程序原代码)。目录一 需求分析 71.1 程序的功能 71.2 输入输出的要求 7二概要设计 72.1 程序的模块组成 72.2 每个模块的功能 82.3 存储数据及其关系 10三详细设计 103.1 采用 C 语言定义相关类型 103.2写出各模块的类C码算法113.3 调用关系图 13四调试分析以及心得体会 154.1 测试数据 154.2 心得体会 17五 使用说明 18六 附录 19七评分表 24一 需求分析1.1 程序的功能在交通网络非常发达的今天,人们出差、旅游或做其他出行时,不仅关心节省交通 费用,而且对里程和所需时间

8、等问题也很感兴趣。对于这样一个人们关心的问题,可用 一个图结构来表示交通网络系统,利用计算机建立一个交通咨询系统。图中顶点表示城 市,边表示城市之间的交通关系。设计一个交通咨询系统,能让旅客咨询从任一个城市 顶点到达另外一个城市顶点之间的最短路径(里程)的问题。要求完成以下功能(a) 以图中顶点表示湖南省各市(至少包括 8 个以上的城市),存放城市名称、代号、 简介等信息,以边表示路径,存放路径长度等有关信息,先建立交通网络图的存储结构;(b) 为用户提供图中任何城市有关信息的查询;(c) 为用户提供任意城市的交通查询,即查询任意两个城市之间的一条最短路径。(d) 为用户提供指定城市的交通查询

9、,即查询指定城市到其他城市之间的最短路 径。选做内容:(1)提供图的编辑功能:增、删城市;增删路径;修改已有信息等; (2)交通图的仿真界面。1.2 输入输出的要求在用户刚进入主界面后,系统就会提示输入建立交通网络的储存结构,输入顶点个 数和和边数,随后会有系统进行提示输入顶点信息以及他们的权值,即I,j和w,依次 根据边的信息个数进行输入。随之进行的是查询页面,输入选择按钮进行功能查询选择。 如,选择 1:表示的是查询任意两个城市之间的一条最短路径,选择 2:表示的是查询 指定城市到其他城市之间的最短路径,选择 0:表示你将要退出程序查询系统。 二概要设计2.1 程序的模块组成本程序主要有三

10、个模块组成,他们分别是:邻接矩阵建立有向图,查询任意两 个城市之间的一条最短路径,查询指定城市到其他城市之间的最短路径。三个模块的概图:用户进入系统交通网络构建两个指定城市的 最短距离查询结果,退出系统图 2.12.2每个模块的功能邻接矩阵建立交通网络图 2.2.1查询指定城市到其他城市之间的最短路径查询任意两个城市之间的一条最短路径:2.3存储数据及其关系比如下列五个数据之间的存储及其关系上图说明:上图各个节点之间会有一条或者两条边,当输入他们的信息时根据 他们的方向进行有向图的存储。并且每两个顶点之间(单向)都会有一个值W,即 权值。如顶点1和2之间可以设置他的权值是2,顶点2到顶点5的权

11、值可以是3 顶点5到顶点2的权值可以是4,等等。三详细设计3.1采用C语言定义相关类型 1定义一个,用来存储顶点信息。typedef structVertexType vexsMAX;Adjmatrix arcsMAXMAX; MGraph;.2定义一个 Dijkstra 函数void Dijkstra(MGraph *G,int v,int n);2.定义一个Floyd函数void Floyd(MGraph *G,int n);3.2 写出各模块的类 C 码算法邻接矩阵构造图结构函数 数据类型定义:typedef structVertexType vexsMAX; Adjmatrix arc

12、sMAXMAX;MGraph;void CreateMGraph(MGraph *G,int n,int e) 邻接矩阵构成有向图int i,j,k,w;for(i=1;ivexsi=(char)i;for(i=1;i=n;i+) for(j=1;jarcsij=IDF;printf(输入d 条边的 i,j 及 w: n,e);for(k=1;karcsij=w; printf(有向图的存储结构建立完毕!n);其中vexsMAX保存顶点信息,arcsMAXMAX用于保存边与边之间的信 息。在构建时通过输入的边数i,j作为矩阵的行、列确定顶点的出度和入度。用 邻接矩阵方法存储图。Dijkstra

13、 算法;基本思想:设G (V,E)是一个带权有向图,把图中的顶点集合V分成两组, 第一组为已经求出的最短路径的顶点集合(用S表示,初始时S中只有一个原点, 以后每求得一条最短路径就加入的集合 S 中,知道全部顶点都加入到集合中), 第二组,为其余未确定最短路径的顶点集合(用U表示),按最短路径长度的递 增次序依次把第二组的顶点就如S中。如果两个顶点之间有权值,并且各个路径 的权值不同,就把最小的作为顶点与顶点的最短距离。如图所示 若x+yk=u。同理若x+yu,D vl=O;Svl=l; 原点编号放入s中for(i=2;in;i+)min=IDF;for(w=l;w=n;w+)if(!Sw&D wmin)v=w;min=D w;Sv=1;修改顶点u放入s中for(w=l;warcsvwarcsvw;P w=v;弗洛伊德算法:用邻接矩阵保存图存储后,另外需要存一个二维数组A存放当前顶点之间的最 短路径长度。分量Aij表示当前顶点i到j的最短路径长度。弗洛伊德算法的基本 思维是递推产生一个矩阵序列A。,Al,A2,血,A

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号