基于c语言的数字校园问题

基于c语言的数字校园问题

ID:14835340

大小:172.21 KB

页数:19页

时间:2018-07-30

基于c语言的数字校园问题_第1页
基于c语言的数字校园问题_第2页
基于c语言的数字校园问题_第3页
基于c语言的数字校园问题_第4页
基于c语言的数字校园问题_第5页
资源描述:

《基于c语言的数字校园问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程设计报告报告名称:基于C语言的数字校园问题姓名:学号:【摘要】本文利用C语言,设计了一个可供游人查询校园内道路选择的系统,可以查询查询图中任意两个地点间的所有路径,并求出最短路径,同时增加、删除、更新有关地点和道路的信息。通过模拟得到测试结果。关键词:数字校园、最短路径一、设计目标事实上,如果是初来乍到的人到电子科大来,难免会遇到迷路或者不知道走哪条路最近的问题。本设计就是为了达到给他们提供这样信息的目的,设计一个方便查询各地点路径的系统。即设计一个简易的数字校园系统,实现道路的选择。 二、设计要求设计一个系统,要求完成以下功能:1、查询各地点的相关信息2、查询图中任意两

2、个地点间的最短路径。3、查询图中任意两个地点间的所有路径。4、增加、删除、更新有关地点和道路的信息。为了达到这些功能,我们可以将宿舍楼,教学楼,主楼,图书馆,食堂,超市,等等作为节点,各节点之间有道路相连,每条道路有长度,则问题转化为最优路线规划问题。因为在学校里面,人流量不算很多,车流量也可以得到控制,行人的出行基本不受干扰,则可以忽略人流量的问题。则我们需要做的工作是:1、输出顶点信息:将校园内各位置输出。2、输出边的信息:将校园内每两个位置(若两个位置之间有直接路径)的距离输出。3、修改:修改两个位置(若两个位置之间有直接路径)的距离,并重新输出每两个位置(若两个位置

3、之间有直接路径)的距离。4、求最短路径:输出给定两点之间的最短路径的长度及途径的地点或输出任意一点与其它各点的最短路径。5、删除:删除任意一条边。6、插入:插入任意一条边。三、程序功能1、查询地点的信息2、查询任意两地点之间的最短路径及路径长度。3、查询任意两地点之间的所有路线。4、在已有的校园导游图中添加新的地点及该地点到其他景点的路径长度。5、在已有的校园导游图中删除已有的地点及以该地点为端点的路径。6、修改已有校园导游图中的任意一个地点的名称和地点信息或任意一条路径的长度。7、重新创建一个新的学校的导游图。四、系统设计1、系统总图图1该程序运用数据结构中的图的邻

4、接表的存储方式用顶点来存储地点的名称和地点信息等用边来存储路径的长度等信息。之后以有向图的邻接矩阵的方式用Dijkstra算法来求图的最短路径问题以及图的遍历来求两点间的所有路径问题。最后用图的添加、删除、修改等基本操作完成对校园导游图的修改和重新创建。2、程序设计#include"stdio.h"#include"stdio.h"#include"malloc.h"#include"stdlib.h"#defineMax20000 typedefstructArcCell{intadj;/*相邻接的地点之间的路程*/}ArcCell;/*定义边的类型*/ typed

5、efstructVertexType{intnumber;/*地点编号*/charsight[100];/*地点名称*/chardescription[1000];/*地点描述*/}VertexType;/*定义顶点的类型*/ typedefstruct{VertexTypevex[20];/*图中的顶点即为地点*/ArcCellarcs[20][20];/*图中的边即为地点间的距离*/intvexnum,arcnum;/*顶点数边数*/}MGraph;/*定义图的类型*/ MGraphG;/*把图定义为全局变量*/charnameofschool[100];intNUM

6、=9;intP[20][20];/**/intp[20];/*全局数组用来存放路径上的各顶点*/intvisited[20];/*全局数组用来记录各顶点被访问的情况*/inta=0;/*全局变量用来记录每对顶点之间的所有路径的条数*/longintD[20];/*辅助变量存储最短路径长度*/intx[20]={0};voidCreateUDN(intv,inta);/*造图函数*/voidnarrate();/*说明函数*/voidShortestPath(intnum);/*最短路径函数*/voidoutput(intsight1,intsight2);/*输出函数*/

7、charMenu();/*主菜单*/voidsearch();/*查询地点信息*/charSearchMenu();/*查询子菜单*/voidHaMiTonian(int);/*哈密尔顿图的遍历*/voidSearchpath1(MGraphg);/*查询两个地点间的所有路径*/voiddisppath(MGraphg,inti,intj);voidpath(MGraphg,inti,intj,intk);/*确定路径上第k+1个顶点的序号*/voidNextValue(int);voidd

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。