⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guider.cpp

📁 导游系统的C++实现
💻 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 + -