羆景德镇陶瓷学院螃信息工程学院蒁班级:12计科(2)班薂学号:0216莈姓名:乐升平芃指导老师:林卫中节时间:2014年6月18号荿题目:、需求分析:羂需求:蒀(1)将导游图看作一张带权无向图,顶点表示公园的各个景点,边表示各景点之间的道路,边上的权值表示距离。为此图选择适当的数据结构。蝿(2)把各种路径都显示给游客,由游客自己选择游览路线。莆(3)画出景点分布图于屏幕上。蚃分析:芈完成对整个导游图系统的功能实现,需要对的每一项功能都有清楚的设想和认识,了解并明确每一项功能的实现需要解决的问题,选择正确并且高效的算法把问题逐个解决,最终实现程序的正确调试运行。有以下设计思路:羇(1).结合本校的实际情况,选出10个景点;螅(2).人为手工为选出的10个景点赋上相关信息(名称、代号、简介信息、以及路权等等);蒃(3).根据选出来的10个景点用邻接矩阵存储校园图。荿(4).依照景点的相关信息创建校园图。肆(5).把纸质上的内容,利用C++编程语言编写查找景点相关信息的程序。膄(6).根据人为赋值的路权,迪杰斯特拉算法计算任意两点之间的最短路径。膃(7).综上所诉,用一个主函数把这些板块合成,生产一个菜单界面呈现在用户面前。、设计与实现:莈选出本校10个景点蚄结合景德镇陶瓷学院实际情况,我选出以下10个景点,从1到10编号:羄编号膈名称蒆编号肃名称蚄编号艿名称衿编号螆名称膀1芁研究生楼羇2膆二食堂袁3肈10#宿舍肅4薅主教学楼蚁5腿毕业礼堂蒈6肅主阶莂7膁一食堂薆8蒄A系列楼膂9羈B系列楼罿10袃图书馆袂11肀科艺楼肇12薇科阶蚃13篮球场 14田径场15游泳池16体育馆膁17翠湖18校门口膅图的初始化羆由于邻接矩阵特殊的存储方式,它非常便于快速的查找两个顶点之间的边上的权值。所以,图采用带权的邻接矩阵存储。莃决定了图的存储方式后,以华南农业大学18个景点的游览地图作为蓝本,把校园地图抽象化成顶点与边构成的图形式,如图所示羈薈10#、模块的划分羃含有四个模块:(1)陶院地图信息芃(2)陶院景点信息螁(3)查找两点间最短路径袆(4)退出蚇模板功能肄(1)将陶院的地图显示在程序运用上;蕿(2)输入一个景点,运用程序上能够显示该景点的信息;芈(3)可以给游客提供两个景点的最短路径;肆(4)给游客提供方便。螄#defineN18蚀#defineMAX25莇#defineMAXedg50蒅#include<>芀#include<>蚂#include<>蝿#include<>羅羁voidclrscr()葿{袇 system("cls");莄}螁薀typedefintAdjMatrix[MAX][MAX];羆螃typedefstruct蒁{薂 intvexs[MAX];莈AdjMatrixarcs;芃}Matrix_Graph;节荿蒆typedefstruct袆{羂 charname[18];蒀 charinformation[1010];蝿 structedgenode*link;莆}vexnode;蚃芈typedefstructedgenode羇{螅 intadjvex;蒃 intlength;荿 charinfo[18];肆 charinfo2[1010];膄 structedgenode*next;膃}edgenode,*Node;莁莈typedefstructEdge蚄{羄 intlengh;膈 intivex,jvex;蒆 structEdge*next;肃}EdgeType;蚄艿typedefstruct衿{螆 intnum;膀 charname[18];芁}vertex;羇膆typedefstruct袁{肈 vertexvexs[MAX];肅 intedges[MAX][MAX];薅}adjmax;蚁腿voidName(inti)蒈{肅 莂 switch(i)膁{薆 case1:蒄 printf("1:研究生楼\n\n");break;膂 case2:羈 printf("2:二食堂\n\n");break;罿 case3:袃 printf("3:10#宿舍\n\n");break;袂 case4:肀 printf("4:主教学楼\n\n");break;肇 case5:薇 printf("5:毕业礼堂\n\n");break;蚃 c
数据结构课程设计——校园导游图 来自淘豆网m.daumloan.com转载请标明出处.