?? 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 + -