资源描述:
《C++数据结构-大作业课程设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++/数据结构大作业/课程设计——【校园导游咨询】【停车场管理】娃娃们可以收着以后用绝对纯手工打造内含类模块/一维指针数组(谨以此程序供大家参考。运行结果后面有贴图)目录【1】校园导游咨询程序设计源代码及截图【2】停车场管理——方案一程序设计源代码及截图【3】停车场管理——方案二程序设计源代码及截图##############【1】【【校园导游咨询】】####################(ps:该校园导游咨询系统没有输入值,所有信息是都在classMGraph的构造函数中传输的,且校园景点信息皆为【【上海电力学院】】景点信息。请大家注意,直接从文章
2、copy到visualstutio中会出现中文字符,注意删除,推荐大家在一行语句的分号后面,点出光标,按一下delete键,然后按一下enter键,完成visualstutio的自动对齐,这样程序看起来一目了然,更易于操作和更改)【问题描述】设计一个校园导游程序,为来访的客人提供各种信息查询服务。【基本要求】(1)设计你所在学校的校园平面图,所含景点不少于10个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。(2)为来访客人提供图中任意景点相关信息的查询。(3)为来访客人提供图中任意景点的问路查询,即查询
3、任意两个景点之间的一个最短的简单路径。【选作内容】(6)扩充每个景点的邻接景点的方向等信息,使得路径查询结果能提供详尽的导向信息。**************************【以下为类的定义】********************************#include#includeusingnamespacestd;constintMaxSize=18;constintINFINITY=65535;//最大值无穷classdirection;templateclassMGraph;tem
4、plateclassVertexNode//定义头结点{friendclassMGraph;public:intvex;//顶点名称Tvexname;//顶点名称Tvexinf;//顶点信息directiondir;//存放顶点方位信息的direction类的dir。};classdirection{public:intln;//存放在方向图中的横坐标,表示东西intcol;//存放在方向图中的纵坐标,表示南北};templateclassMGraph//定义无向图的邻接矩阵{public:MGraph();//构造
5、函数,初始化具有n个顶点的图voidprintvexname();//显示所有景点及景点代号voidprintvexinf(inti);//显示代号为i景点的名称及信息voidprintroad(inti,intj);//显示景点i~j的最短路径方案信息voidprintdir(inti,intj);//显示景点i到j的方向信息,如“向东100m,向南200m”VertexNodeadjlist[MaxSize];//存放景点全部信息的景点类数组intvertexNum,arcNum;//图的顶点数和边数voidRoot(intp,intq);//
6、递归寻找pq间的最短路径intPath[MaxSize][MaxSize],Dist[MaxSize][MaxSize];//创建Path和Dist分别存放两点间最短路径的前驱节点,两点间最短路径长度intLine[MaxSize];//Line存放路径intkkk;//Line[]数组的标记private:Tvertex[MaxSize];//存放图中顶点的数组intarc[MaxSize][MaxSize];//存放图中边的数组};*************************【以下为类的实现即类函数的定义】*******************
7、****************templateMGraph::MGraph()//a[]为景点代号,b[]为景点名称,c[]为景点信息,d[]为景点方位信息的横坐标,e[]为景点方位信息的纵坐标//s[]为存放景点邻接矩阵信息的一维数组,根据其对称性可以用公式赋值给二维数组arc[][]{ints[]={0,1,0,0,2,0,0,0,2,0,0,0,2,3,0,0,0,0,4,2,0,0,0,0,0,2,3,0,0,0,0,0,2,3,1,0,0,0,2,0,2,0,0,2,0,4,0,2,0,0,0,0,0,1,0,0,0,0
8、,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,2,0