校园导游咨询程序

上传人:M****1 文档编号:489497221 上传时间:2022-12-08 格式:DOC 页数:19 大小:244KB
返回 下载 相关 举报
校园导游咨询程序_第1页
第1页 / 共19页
校园导游咨询程序_第2页
第2页 / 共19页
校园导游咨询程序_第3页
第3页 / 共19页
校园导游咨询程序_第4页
第4页 / 共19页
校园导游咨询程序_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《校园导游咨询程序》由会员分享,可在线阅读,更多相关《校园导游咨询程序(19页珍藏版)》请在金锄头文库上搜索。

1、太原理工大学计算机科学与技术学院实验三:校园导游咨询一、 设计方案简介设计一个校园导游程序,为来访的客人提供各种信息查询服务。1)设计你所在学校的校园平面图,2)为来访客人提供图中任意景点相关信息的查询。3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。二、 设计题目实现:实际需求1)设计你所在学校的校园平面图,所含景点不少于10个。以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息:以边表示路径,存放路径长度等相关信息。2)为来访客人提供图中任意景点相关信息的查询。3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径

2、。2)概要设计1、 校园全景一览图、显示出校园的平面图。2、 提供校园中任意景点问路查询,即求任意两个景点之间的所有路径。3、提供校园图中多个景点的最佳访问路线查询,即求途径这过个景点的最佳(短)路径。1功能模块图;void Map();/校园地图void CreateGraph();/创建图void OutputPlace();/输出景点列表void SearchPlace();/查询景点信息void SearchPath();/查询最短路径void Shortpath(int i);/计算最短路径void Output(int sight1,int sight2);/输出函数2各个模块详细

3、的功能描述。Map();/显示校园整体的地图、包含学校各景点的详细位置CreateGraph();/创建图、主要用来保存各景点信息OutputPlace();/输出景点列表、供选择景点信息查询时使用SearchPlace();/查询景点信息、景点的名称及介绍SearchPath();/查询最短路径、两景点间最短距离Shortpath(int i);/计算两景点间最短路径Output(int sight1,int sight2);/输出两景点最短路径及信息四详细设计Main()1功能函数的调用关系图 CreateGraph() SearchPlace() Map() SearchPath()Ou

4、tputplace()Shortpath(i);Output(i,j);2各功能函数的数据流程图全局变量Graph G;int pathNUMNUM;int DNUM;3 重点设计及编码 重点设计:求最短路径 编码:void Shortpath(int num)/迪杰斯特拉算法最短路径 int v,w,i,t;/i、w和v为计数变量/t表示景点个数int finalNUM; /标志数组、用来存放顶点的信息int min;/记录权值、最终输出路径for(v=0;vNUM;v+)finalv=0; /假设从顶点num到顶点v没有最短路径Dv=G.arcnumv.length;/将num到其余顶点的

5、最短路径长度初始化为权值for(w=0;wNUM;w+) pathvw=0;/初始化从v到w的路径值if(DvMAX) /存在路径pathvnum=1; /存在标志置为一pathvv=1; /自身到自身Dnum=0;/初始化新路径 finalnum=1; /初始化num顶点属于final集合 /开始主循环,每一次求得num到某个顶点的最短路径,并将其加入到final集合 for(i=0;iNUM;+i) / 其余G.vexnum-1个顶点 min=MAX; /当前所知离顶点num的最近距离for(w=0;wNUM;+w)if(!finalw) /w顶点在v-s中 if(Dwmin) /w顶点离

6、num顶点更近 v=w;min=Dw; finalv=1; /离num顶点更近的v加入到s集合 for(w=0;wNUM;+w) /更新当前最短路径极其距离 if(!finalw&(min+G.arcvw.length)Dw)/不在s集合,并且比以前所找到的路径都短就更新当前路径 Dw=min+G.arcvw.length;/更新路径for(t=0;tNUM;t+)pathwt=pathvt;pathww=1;void Output(int sight1,int sight2) / 输出函数 int a,b,c,d,q=0;/a、b、c和d为计数变量/q控制计数变量、用于换行a=sight2;

7、 /将景点二赋值给a if(a!=sight1) / 如果景点二不和景点一输入重合,则进行. printf(tttttt从%s到%s的最短路径是:nnttttt,G.vertexsight1.name,G.vertexsight2.name);/输出提示信息/输出sight1到sight2的最短路径长度,存放在D数组中printf(t%s,G.vertexsight1.name); /输出景点一的名称 d=sight1; /将景点一的编号赋值给dfor(c=0;cNUM;+c)gate:; /标号,可以作为goto语句跳转的位置 pathasight1=0; for(b=0;bNUM;b+)

8、if(G.arcdb.length%s,G.vertexb.name); /输出此节点的名称 q=q+1; /计数变量加一,满8控制输出时的换行 pathab=0; d=b; /将b作为出发点进行下一次循环输出,如此反复 if(q%14=0) printf(n); goto gate; printf(nntttttt最短距离为 %dm.nnt,Da); 五测试数据及运行结果系统主界面学校平面图学校景点图最短路径信息查询异常信息三、 设计评述:设计者对本设计的评述及通过设计的收获体会1 改进方案系统还有部分漏洞未能修复、不够绝对的稳定、还需改进!求最短路径时可以采用比较简单的哈密尔顿算法。 本次

9、课程设计仅完成了要求的基本功能、由于平时掌握的不够好以及时间关系未能完成选作功能、这是一大缺陷!另外通过本次课程设计也更好的掌握了平时所学的知识、通过实践学到了许多课本上没有的知识!2 体会以后要加强动手时间能力、多与同学交流算法精髓!在编写程序中尽量做到独立完成、对于自己想要完成的问题要主动编程完成、这样自己是一个很大的提升、也能学到很多的知识、熟练编程!报告最后有两部分附录附录一:参考资料1、C语言程序设计(谭浩强版)2、数据结构(C语言版) 编著:严蔚敏、吴伟民 清华大学出版社附录二:源程序 (将所有的源程序附在最后的附录中)/ 查询景点信息.cpp : Defines the entr

10、y point for the console application./#include stdafx.h#include stdio.h#include #include #include #include #include #define NUM 20#define MAX 100000#define FALSE 0#define TURE 1typedef struct ArcNode int length; /路径长度 ArcNode, *ArcLink; /边结点的定义typedef struct VertexNode int number; /景点的编号 char *name;

11、/景点的名称 char *info; /景点的简介 VertexNode; /顶点结点的定义typedef struct Graph VertexNode vertexNUM; ArcNode arcNUMNUM; int vexnum,arcnum; /图的顶点数,边数 Graph; /图的定义Graph G;int pathNUMNUM;int DNUM;void CreateGraph();/创建图void Map();/学校地图void outputplace();/输出校园景点名称void searchplace();/查询景点信息void searchpath();/查询最短路径v

12、oid shortestpath_DIJ(int num);/迪杰斯特拉算法最短路径void output(int sight1,int sight2);/输出函数void CreateGraph()/创建图int i,j;G.vexnum=12;G.arcnum=17;for(i=1;iNUM;i+) G.vertexi.number=i;G.vertex1.name=太原理工大学正门;G.vertex1.info=学校正门位于学校的正南方向、是进入学校前的第一道亮丽ntt的风景线!n;G.vertex2.name=电机馆;G.vertex2.info=电机馆是数学系,电子信息系,自动化,通讯等学院的学院楼!n;G.vertex3.name=科学楼;G.vertex3.info=科学楼是我校科研机构场所,也是山西省网关所在地!n;G.vertex4.name=多学科楼;G.vertex4.info=科学楼是计算机科学与技术学院,软件学院,电子信息学院,ntt土木,建筑的学院楼,也是我校最好的学院楼!n;G.vertex5.name=图书馆;G.vertex5.info=太原理工图书馆经历了

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

当前位置:首页 > 高等教育 > 其它相关文档

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