📄 guider.cpp
字号:
#include"head.h"
#include<iostream.h>
#include<stdlib.h>
void main()
{
a1: system("cls");
map();
cout<<"1.查询景点信息——为您提供详细的景点信息!!!"<<endl;
cout<<"2.查询路径信息——为您提供最短的路径信息!!!"<<endl;
cout<<"3.退出导游系统"<<endl;
cout<<endl;
b1: cout<<"请输入您要执行的选项(1-3):";
char n,ch;
cin>>n;
if(n=='3')
{
system("cls");
cout<<endl<<endl<<endl<<endl;
cout<<" 谢谢使用交大校园导游系统!!!"<<endl;
cout<<" 华东交通大学欢迎您!"<<endl;
}
else if(n=='1')
{
system("cls");
map();
cout<<"查询景点信息:"<<endl;
a2: cout<<endl<<endl;
cout<<"输入您想了解的校园景点标号(0-9),返回主菜单请输入'q':";
cin>>ch;
if(ch=='q')
goto a1;
else
if(ch>='0'&&ch<='9')
switch(ch)
{
case('0'):cout<<"校门口,...这个不用多解释了吧...";
break;
case('1'):cout<<"在这里可以看到由学校的校徽和校训";
break;
case('2'):cout<<"学校的招待所";
break;
case('3'):cout<<"同学和老师就餐的地方";
break;
case('4'):cout<<"交大的标志性建筑,办公场所,多媒体教室也在这";
break;
case('5'):cout<<"建筑学院教学楼,电信机房也在这。是同学们上机作业的地方,也可以上网,不过要钱...";
break;
case('6'):cout<<"每周末都有好看的电影,也是开学生大会的地方";
break;
case('7'):cout<<"知识的海洋!!";
break;
case('8'):cout<<"做实验的地方";
break;
case('9'):cout<<"交大的最大的湖,情侣的好去处";
break;
}
else cout<<"输入错误!请从新输入(0-9)!";
goto a2;
}
else if(n=='2')
{
system("cls");
map();
MGraph G;
CreateUDN(G);
cout<<"查询路径信息"<<endl;
a3: cout<<endl;
char x,y;
system("cls");
map();
cout<<"查询路径信息"<<endl;
b3: cout<<endl;
cout<<"请输入您出发地点的标号(0-9):";
cin>>x;
while(x<'0'||x>'9')
{
cout<<"输入错误!请重新输入您出发地点的标号(0-9):";
cin>>x;
}
cout<<"请输入您目的地点的标号(0-9):";
cin>>y;
while(y<'0'||y>'9')
{
cout<<"输入错误!请重新输入您目的地点的标号(0-9)";
cin>>y;
}
if(x==y)
{
cout<<endl;
cout<<"您输入的出发地与目的地相同!请重新输入!"<<endl;
goto b3;
}
cout<<endl;
cout<<"您应该选择的路径是:";
int man[10][10],count=0,cost[10],t,a0=x-48,an=y-48;
for(int a=0;a<G.vexnum;a++)
for(int b=0;b<G.vexnum;b++)
man[a][b]=G.arcs[a][b].adj;
t=man[a0][an];
cost[0]=a0;
for(int a1=0;a1<10;a1++)
{
if(man[a0][a1]+man[a1][an]<t)
{
t=man[a0][a1]+man[a1][an];
count=1;
cost[1]=a1;
break;
}
for(int a2=0;a2<G.vexnum;a2++)
{
if(man[a0][a1]+man[a1][a2]+man[a2][an]<t)
{
t=man[a0][a1]+man[a1][a2]+man[a2][an];
count=2;
cost[1]=a1;cost[2]=a2;
break;
}
for(int a3=0;a3<G.vexnum;a3++)
if(man[a0][a1]+man[a1][a2]+man[a2][a3]+man[a3][an]<t)
{
t=man[a0][a1]+man[a1][a2]+man[a2][a3]+man[a3][an];
count=3;
cost[1]=a1;cost[2]=a2;cost[3]=a3;
break;
}
}
}
cost[count+1]=an;
int d=0;
do
{
if(cost[d]==0)
cout<<"校门口"<<"—>";
if(cost[d]==1)
cout<<"花坛"<<"—>";
if(cost[d]==2)
cout<<"专家楼"<<"—>";
if(cost[d]==3)
cout<<"食堂"<<"—>";
if(cost[d]==4)
cout<<"综合大楼"<<"—>";
if(cost[d]==5)
cout<<"电信机房"<<"—>";
if(cost[d]==6)
cout<<"电影院"<<"—>";
if(cost[d]==7)
cout<<"图书馆"<<"—>";
if(cost[d]==8)
cout<<"实验室"<<"—>";
if(cost[d]==9)
cout<<"孔目湖"<<"—>";
d++;
}
while(d<count+1);
{
switch(cost[count+1])
{
case 0: cout<<"校门口";break;
case 1: cout<<"花坛";break;
case 2: cout<<"专家楼";break;
case 3: cout<<"食堂";break;
case 4: cout<<"综合大楼";break;
case 5: cout<<"电信机房";break;
case 6: cout<<"电影院";break;
case 7: cout<<"图书馆";break;
case 8: cout<<"实验室"; break;
case 9: cout<<"孔目湖";break;
}
cout<<endl;
cout<<"所用的最短路径为:"<<t<<endl;
}
b2: cout<<endl;
cout<<"返回主菜单请输入'q',继续路径信息查询请输入'g'键:";
cin>>ch;
if(ch=='q')
goto a1;
if(ch=='g')
goto a3;
else
{
cout<<"输入错误!请重新输入!"<<endl;
goto b2;
}
}
else
{
cout<<"输入错误!请重新输入!"<<endl;
goto b1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -