本文实例为大家分享了C++实现校园导游系统的具体代码,供大家参考,具体内容如下
校园导游系统
问题描述:设计一个校园导游程序,完成校园信息的维护以及为来访的客人提供信息查询等服务功能。
基本要求:
设计学校的校园平面图,所含景点不少于10个,以图中顶点表示校内各景点,顶点的信息包括:景点名称、代号、简介等,以边表示道路,边上信息包括:两点距离、所需时间等相关信息。(注:数据的输入可以是键盘输入或文件输入两种方式)
提供对校园景点信息的编辑(如:添加、删除、修改等)的功能;
为来访客人提供图中任意景点相关信息的查询(可提供多种查询方式);
为来访客人提供从校门口到图中任意景点的问路查询(最短路径);
为来访客人提供图中任意景点间的问路查询。
#includeusing namespace std; int main() { int n; const int MAX=1000; static int r [MAX][MAX]={ {0,100,20,200,MAX,MAX,MAX,MAX,MAX,MAX}, {100,0,MAX,80,MAX,MAX,MAX,90,MAX,MAX}, {20,MAX,0,MAX,MAX,MAX,200,MAX,MAX,MAX}, {200,80,MAX,0,40,MAX,MAX,70,MAX,50}, {MAX,MAX,MAX,40,0,300,MAX,MAX,MAX,60}, {MAX,MAX,MAX,MAX,300,0,50,MAX, MAX,MAX}, {MAX,MAX,200,MAX,MAX,50,0,MAX,MAX,400}, {MAX,90,MAX,70,MAX,MAX,MAX,0,50,50}, {MAX,MAX,MAX,MAX,MAX,MAX,MAX,50,0,70}, {MAX,MAX,MAX,50,60,MAX,400,50,70,0} }; struct vertex {string name; int number; string introduction; }ver[MAX]={ {"校门",0,"学校主校门"}, {"体育场",1,"学校举办体育活动的地方"}, {"六号公寓",2,"校内学生宿舍"}, {"沉思广场",3,"大草地"}, {"知源亭",4,"小亭子"}, {"图书馆",5,"书的栖息地"}, {"综合实验楼",6,"实验室云云"}, {"大学会馆",7,"举办会议和活动的地方"}, {"鹏远公寓",8,"鹏远学生宿舍"}, {"工学馆",9,"主教楼"} }; int b; for(b=0;b<1000;b++) { cout<<"|-----------------------------------------------------------------------------|"< >n; if(n==1) { cout<<"|-----------------------------------------------------------------------------|"< >a; if(a==1){ cout<<"请输入你将要添加的校园景点编号:"; int m; cin>>m; ver[m].number=m; cout<<"请输入你将要添加的校园景点的名称:"; string x; cin>>x; ver[m].name=x; cout<<"请输入你将要添加的校园景点的介绍:"; string y; cin>>y; ver[m].introduction=y; cout<<"添加成功~" < >m; ver[m]=ver[MAX-1]; cout<<"删除成功~"< >m; cout<<"你将要修改的景点信息如下:"< >x; ver[m].name=x; cout<<"请输入修改后的景点介绍信息:"; string y; cin>>y; ver[m].introduction=y; cout<<"修改成功~"< >o; switch(o) { case 1:{cout<<"查询校园景点信息"< >m; cout<<"景点名称:"< >y; cout<<"最短路径为:" ; static int u; static int v; static int w; static int i; int t; static int s[MAX]; static int D[MAX][MAX]; static bool P[10][10][10]; for(v=0;v<10;v++) for(w=0;w<10;w++){ D[v][w]=r[v][w]; for(u=0;u<10;u++) P[v][w][u]=0; if(D[v][w] 0&&s[h]!=f[l]){ cout< "; l=l+1; f[l]=z; z=s[h]; break; } cout< >x; cout<<"请输入您想要到的地点"; static int y; cin>>y; cout<<"最短路径为:" ; static int u; static int v; static int w; static int i; int t; static int s[MAX]; static int D[MAX][MAX]; static bool P[10][10][10]; for(v=0;v<10;v++) for(w=0;w<10;w++){ D[v][w]=r[v][w]; for(u=0;u<10;u++) P[v][w][u]=false; if(D[v][w] 0&&s[h]!=f[l]){ cout< "; l=l+1; f[l]=z; z=s[h]; break; } cout<
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。