C语言校园导航系统.docx

C语言校园导航系统.docx

ID:58461388

大小:294.49 KB

页数:17页

时间:2020-05-14

C语言校园导航系统.docx_第1页
C语言校园导航系统.docx_第2页
C语言校园导航系统.docx_第3页
C语言校园导航系统.docx_第4页
C语言校园导航系统.docx_第5页
资源描述:

《C语言校园导航系统.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程设计报告课程设计题目:校园导航专业:计算机科学与技术班级:学号:2学生姓名:胡玖龙指导教师:刘志锋2014年6月19日实验题目:校园导航系统实验时间:2014/6/16-2014/6/19实验地点:软件楼402实验目的:综合运用所学的数据结构知识解决一个关于学校导航系统的问题,侧重对图的相关内容特别是求最短路径的应用,使得能进一步熟悉掌握数据结构的基础知识,进一步提升自己的解决问题和编程调试能力,为后续专业课程的学习打下基础。实验要求:设计学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从某个场所到达另一场所的最佳路径。求

2、最短路径用Dijkstra或Floryd算法实现。实现思路:先分析需求,本程序的主要目的是提供本学校地点的路径查询,并提供其他各种信息查询服务。需求:1、提供校园平面图,使得能直观的了解学校。2、提供地点信息查询,为各地点提供简短的介绍。3、提供任意两地点间最短路径查询,并计算总路程。根据要求,先将校园平面图信息抽象为无向网,用邻接矩阵存储。需求1:定义map()函数,功能是输出校园的平面图。可简单的通过printf()函数实现。需求2:定义Query()函数,功能是查询输出地点信息。可直接输出无向网中的顶点信息。需求3:根据输入的起点和终点,运用Floryd算法,求

3、出最短路径,计算路径长度并输出。考虑到使用者并不一定需要使用所有的功能,所以开始时需要一个选择菜单。定义Menu()函数,功能是提供功能选择。输入1,选择查看学校平面图输入2,选择查看各地点信息输入3,选择查找两地点间最短路径输入4,退出程序总流程图:开始执行Menu函数输入选择ii=4?YNi=?132求最短路径模块地点信息查询模块平面图模块结束开始平面图模块流程图:输出校园平面图结束开始地点信息查询模块流程图:输出各地点编号输入查询地点编号执行Query()函数输出地点信息结束求最短路径模块流程图:开始输出各地点编号输入起点地点编号输入终点地点编号运用Floyd算

4、法求出最短路径输出最短路径和路程结束实现过程:从学校的平面图中选取出12个比较重要的地点,将其抽象成无向带权网并用邻接矩阵来表示。以图中的顶点代表地点,存放地点名称、编号、简介等信息,权值代表两地之间的距离。最短路径用Floyd算法求出。地点间距离用地图软件测出。将得到的信息绘制成无向网:1.体育馆2.北区宿舍3.图书馆4.樱花广场5.三教6.东门7.青春广场8.西区食堂9.西区宿舍10.南区食堂11.南区宿舍12.南门11702200315063030041505305007.1708160100570160911101218010020程序用到的函数:MGraph

5、InitGraph(MGraph&G)//构造校园图voidMenu()//初始菜单voidMap()//校园平面图VoidNumber()//输出地点编号,在其他操作中会用到voidQuery(MGraphG)//查找函数,可以输出地点名称和介绍voidfloyd(MGraphG)//floyd算法voidshortestPath_Floyd(MGraph&G)//求最短路径voidmain();//主函数(1)图的存储结构:typedefstruct{charname[30];//地点名称intnum;//地点编号charintroduction[200];//地

6、点介绍}VertexType;typedefstruct{VertexTypevexs[MAX];//地点intarcs[MAX][MAX];//存储图的邻接矩阵intvexNum,arcNum;//地点数,路径数}MGraph;(1)构造校园图:MGraphInitGraph(MGraph&G)//构造校园图{inti,j;G.vexNum=12;G.arcNum=16;for(i=1;i<=G.vexNum;i++)G.vexs[i].num=i;strcpy(G.vexs[1].name,"体育馆");strcpy(G.vexs[1].introduction,

7、"有田径场及各种体育活动场馆");strcpy(G.vexs[2].name,"北区宿舍");strcpy(G.vexs[2].introduction,"学校北区的宿舍");strcpy(G.vexs[3].name,"图书馆");strcpy(G.vexs[3].introduction,"有着丰富的藏书,是学习、自习的好地方");strcpy(G.vexs[4].name,"樱花广场");strcpy(G.vexs[4].introduction,"有很多樱花树,适合早读");strcpy(G.vexs[5].name,"三教");strcpy

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

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

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