#include "string.h"
#include "stdio.h"
#include "malloc.h"
#include "stdlib.h"
#define Max 10000 /*不可达*/
#define NUM 13
typedef struct ArcCell{
int adj;
}ArcCell;
typedef struct VertexType{
int number;
char *sight;
char *description;
}VertexType;
typedef struct{
VertexType vex[NUM];
ArcCell arcs[NUM][NUM];
int vexnum,arcnum;
}MGraph;
MGraph G;
int P[NUM][NUM];
long int D[NUM];
int x[13]={0};
void zhaotu(int v,int a);
void jingdian();
void ShortestPath(int num);
void output(int sight1,int sight2);
char Menu();
void more();
void search();
char SearchMenu();
void bianli(int);
void nv(int);
void scan();
void more();
//////////////////////////////////////////////////////////////////////
void main()
{
int v0,v1,i,k=0,m;
char ck;
more();
zhaotu(NUM,19);
do
{
ws0: ck=Menu();
switch(ck)
{
ws:case '1':{
system("cls");
printf("\t\t\t 石家庄铁道大学景点名称:\n");
printf("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");
for(i=0;i<NUM;i++)
{
printf("%d.%s ",k,G.vex[i].sight);
k=k+1;
if(i==NUM-1){
printf("\n");
}
}
printf("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");
lg0: printf("\n\n\t\t\t请选择起始景点:\n");
scanf("%d",&v0);
if(v0>12){printf("对不起,您的输入有误,请重新输入:\n");getchar();goto lg0;}
lg1: printf("\t\t\t请选择终点景点:\n");
scanf("%d",&v1);
if(v1>12){printf("对不起,您的输入有误,请重新输入:\n");getchar();goto lg1;}
ShortestPath(v0);
output(v0,v1);
printf("\n");
printf("\t\t\t1.继续查询 2.返回主菜单");
scanf("%d",&m);
switch(m)
{
case 1: goto ws;
case 2:Menu();goto ws0;
}
getchar();
}
case '2':{search();}
break;
case '3':
system("cls");
jingdian();
x[0]=1;
bianli(1);
printf("\n\n\t\t\t\t请按回车键返回...\n");
getchar();
getchar();
break;
case '4':
{ system("cls");
jingdian();
printf("\t ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n");
printf("\t┃\t 第九实验楼 ┃\n");
printf("\t┃\t / ┃ ┃\n");
printf("\t┃\t体育馆━┃━━━━━━━━━━━━━学生公寓区 ┃\n");
printf("\t┃\t ┃ ┃ ┃ ┃\n");
printf("\t┃\t ┃ ┃ ┃ ┃\n");
printf("\t┃\t ┃ 图书馆 ┃ ┃\n");
printf("\t┃\t ┃ ┃ ┃ ┃\n");
printf("\t┃\t ┃ 沁园 ━━━━━━超市━银行━━ 翠园 ┃\n");
printf("\t┃\t ┃ ┃ ┃ ┃\n");
printf("\t┃\t ┃ ┃ ┃ ┃\n");
printf("\t┃\t ┃ 第一教学楼━━━大礼堂━━━━━春晖楼 ┃\n");
printf("\t┃\t ┃ ┃ ┃ ┃ ┃\n");
printf("\t┃\t ━━ 正门 ━━━━━━━开元楼 ┃\n");
printf("\t ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n");
getchar();
getchar();
}
case '5': getchar();
};
}while(ck!='5');
}
/////////////////////////////////////////////////////////////////////////////////////////////////
char Menu()
{
char c;
int flag;
do{
flag=1;
system("cls");
jingdian();
printf("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");
printf("★ 1、查询景点路径 ★\n");
printf("★ 2、查询景点信息 ★\n");
printf("★ 3、推荐参观路线 ★\n");
printf("★ 4、查看校园地图 ★\n");
printf("★ 5、退出 ★\n");
printf("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");
printf("\t\t\t请输入您的选择:");
scanf("%c",&c);
if(c=='1'||c=='2'||c=='3'||c=='4'||c=='5')
flag=0;
}while(flag);
return c;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////
char SearchMenu()
{
char c;
int flag;
do{
flag=1;
system("cls");
jingdian();
printf("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");
printf("★ 1、按景点编号查询 ★\n");
printf("★ 2、按景点名称查询 ★\n");
printf("★ 3、推荐参观路线 ★\n");
printf("★ 4、退出 ★\n");
printf("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");
printf("\t\t\t\t请输入您的选择:");
scanf("%c",&c);
if(c=='1'||c=='2'||c=='3'||c=='4')
flag=0;
}while(flag);
return c;
}
/////////////////////////////////////////////////////////////////////////////////////////////
void search()
{
int num;
int i;
char c;
char name[20];
do
{
system("cls");
c=SearchMenu();
switch (c)
{
case '1':
system("cls");
jingdian();
printf("\n\n\t\t请输入您要查找的景点编号:");
scanf("%d",&num);
for(i=0;i<NUM;i++)
{
if(num==G.vex[i].number)
{
printf("\n\n\t\t\t以下是您要查找景点信息:\n");
printf("\t\t");
printf("%s\n",G.vex[i].description);
printf("\n\t\t\t按回车键返回...");
getchar();
getchar();
break;
}
}
if(i>NUM)
{
printf("\n\n\t\t\t对不起,没有找到!");
printf("\n\n\t\t\t按回车键返回...");
getchar();
getchar();
}
break;
case '2':
system("cls");
jingdian();
printf("\n\n\t\t请输入您要查找的景点名称:");
scanf("%s",name);
for(i=0;i<NUM;i++)
{
if(!strcmp(name,G.vex[i].sight))
{
printf("\n\n\t\t\t以下您要查找景点信息:");
printf("\n\n\t\t\t%-25s\n\n",G.vex[i].description);
printf("\n\t\t\t按任意键返回...");
getchar();
getchar();
break;
}
}
if(i==NUM)
{
printf("\n\n\t\t\t对不起,没有找到!");
printf("\n\n\t\t\t按任意键返回...");
getchar();
getchar();
}
break;
case '3':system("cls");
jingdian();
x[0]=1;
bianli(1);
printf("\n\n\t\t\t\t请按回车键返回...\n");
getchar();
getchar();
break;
}
}while(c!='4');
}
///////////////////////////////////////////////////////////////////////////////////////////
void more()
{
int i,j;
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\t\t\t欢迎使用石家庄铁道大学校园导航系统");
printf("\n");printf("\n");printf("\n");printf("\n");
printf("\t\t\t 系统初始化中...\n");
printf("\n");printf("\n");printf("\n");
printf("\t\t\t 请稍候");
for(i=0;i<=10;i++) printf("\n"); /*调整界面*/
for(i=0;i<=39;i++)
{
printf("> ");
for(j=0;j<=20000000;j++); /*延长时间*/
}
for(i=0;i<30;i++)
printf("\n");
system("cls");
}
////////////////////////////////////////////////////////////////////////////////////////////////////
void jingdian()
{
int i,k=0;
printf("\n");
printf("\t\t\t 石家庄铁道大学景点名称\n");
printf("☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n");
for(i=0;i<NUM;i++)
{
printf("%d.%s ",k,G.vex[i].sight);
k=k+1;
if(i%5==4||i==NUM-1) {
printf("\n");}
}
printf("☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n");
}
///////////////////////////////////////////////////////////////////////////
校园导游系统-基于c语言
5星 · 超过95%的资源 需积分: 41 127 浏览量
2011-01-08
14:24:42
上传
评论 5
收藏 208KB RAR 举报
小马王_
- 粉丝: 53
- 资源: 9
最新资源
- MEM2307-VB一款SOT23封装P-Channel场效应MOS管
- 逐次分半积分实验.wps
- MEM2303XG-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- MEM2303-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 1_base.apk.1
- 基于FPGA深度学习的9I2C 读写 RTC 时钟实验,适合FPGA初学者
- MEM2303M3G-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- MEM2302XG-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- manage.py 相对路径
- 数据库设计课程设计-高校选课管理系统免费提供
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页