欢迎来到天天文库
浏览记录
ID:52328369
大小:381.50 KB
页数:32页
时间:2020-03-26
《《校园导游》课程设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、课程设计报告课程:数据结构学号:0810111026姓名:章阳班级:08普本非师教师:王群芳时间:2010.6.30合肥师范学院计算机科学与技术系设计名称:校园导游日期:2010年6月30日设计内容:用无向网表示学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。设计目的与要求:1.查询各景点的相关信息2.查询图中任意两个景点间的最短路径3.查询图中任意两个景点间的所有路径4.增加、删除、更新有关景点和道路的信息系统分析:邻接表中的顶点的信息用数组存储,本系统为了实现景点的增加,删除功能,采用了顶点信息用链
2、表做为存储结构,可以方便的实现这些功能。在顶点的存储结构中,不仅有数据域(一个景点结构体,存放景点的编号,名称,介绍),指针域有指向下一个景点地址的nextV和指向其所对应边的下一个景点编号nextArc。表结点里放有路径的长度和景点编号,这是本系统的存储方式。本系统实现了对景点和道路的增加,删除,更新功能,且实现了任意景点之间的最短路径,和任意两景点的所有路径。本系统可以按菜单的方式进行操作,并且在主菜单中设置了两个隐藏函数,其中操作6为Print用邻接表的形式显示景点编号和操作7为PrintMatrix用矩阵的形式显示道路长度,从而来检测对景点和道路的增加,删除,更新是否实
3、现。测试数据及结果:上图中,共有10个景点,16条道路。其中圆圈为各个景点(编号、名称、介绍),边为道路(长度)。进入程序,选择是否使用默认数据:创建图成功:选择主操作1:选择主操作2:选择主操作3:选择主操作4:选择副操作1:选择副操作2:选择副操作3:选择副操作4:选择副操作5:选择副操作6:选择隐藏菜单Print:选择隐藏菜单PrintMatrix:设计体会:本程序从设计到实现一共花了一个星期,感觉不是很难,但是要用心去做。在这次课程设计中,我再次感觉到自己做程序要站在顾客角度上,让程序更加合理,更加人性化。对于本次课程设计所用到的算法,我都想了很长时间,其中怎么输出所有
4、路径,我还参考了网上的一些资料,最后用了广度优先搜索完成。做完了课程设计,感觉自己一下轻松起来,程序出来了,我也该继续下了一个设计。附录(源程序清单):#includeusingnamespacestd;#include#include#defineMAX_VERTEX_NUM50typedefstructScenery{charsno[4];//景点编号charsname[21];//景点名称charstext[201];//景点介绍}Scenery;//景点结构typedefstructArcNode{charsno[4
5、];//景点编号intlength;//道路长度structArcNode*next;}ArcNode;//表结构typedefstructVNode{Scenerysc;structVNode*nextV;ArcNode*nextArc;}VNode;//顶点结构//图结构typedefstruct{VNode*V;//指向第一个顶点的指针intvexnum,arcnum;}Graph;//矩阵结构typedefstruct{charvexs[MAX_VERTEX_NUM][4];//景点编号数组intarcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM];
6、//道路长度矩阵intvexnum,arcnum;}Matrix;//一行星号voidStart(intn){cout<<'t';for(inti=0;i7、ttt0)退出程序"<
7、ttt0)退出程序"<
此文档下载收益归作者所有