G.edges[i][j]=INF;//allthedistancearesetINFINITY;
G.edges[1][2]=G.edges[2][1]=255;
G.edges[1][4]=G.edges[4][1]=501;
G.edges[1][5]=G.edges[5][1]=535;
G.edges[1][6]=G.edges[6][1]=705;
G.edges[1][7]=G.edges[7][1]=722;
G.edges[1][8]=G.edges[8][1]=790;
G.edges[2][3]=G.edges[3][2]=314;
G.edges[2][4]=G.edges[4][2]=450;
G.edges[2][5]=G.edges[5][2]=484;
G.edges[2][6]=G.edges[6][2]=654;
G.edges[2][7]=G.edges[7][2]=663;
G.edges[2][8]=G.edges[8][2]=748;
G.edges[3][17]=G.edges[17][3]=1054;
G.edges[4][5]=G.edges[5][4]=272;
G.edges[4][6]=G.edges[6][4]=178;
G.edges[4][7]=G.edges[7][4]=442;
G.edges[4][8]=G.edges[8][4]=527;
G.edges[5][7]=G.edges[7][5]=187;
G.edges[5][8]=G.edges[8][5]=561;
G.edges[6][7]=G.edges[7][6]=289;
G.edges[6][8]=G.edges[8][6]=374;
G.edges[6][9]=G.edges[9][6]=520;
G.edges[7][8]=G.edges[8][7]=382;
G.edges[8][14]=G.edges[14][8]=365;
G.edges[8][17]=G.edges[17][8]=1096;
G.edges[9][10]=G.edges[10][9]=297;
G.edges[10][11]=G.edges[11][10]=178;
G.edges[10][12]=G.edges[12][10]=331;
G.edges[12][13]=G.edges[13][12]=383;
G.edges[13][14]=G.edges[14][13]=340;
G.edges[13][15]=G.edges[15][13]=1003;
G.edges[13][16]=G.edges[16][13]=833;
G.edges[14][17]=G.edges[17][14]=646;
G.edges[15][16]=G.edges[16][15]=714;
G.edges[16][17]=G.edges[17][16]=688;
}
voidMap()//展示地图
{
printf("\n\n\n");
printf("\t*******************河南财经政法大学****************");
printf("\n\n\n");
printf("------------------------15游泳池\n");
printf("||\n");
printf("||\n");
printf("12洗浴中心----------------13骊绣苑---------------------16主田径场\n");
printf("|||\n");
printf("10超市----11榴馨苑14综合楼|\n");
printf("|||----------------------17综合文体馆\n");
printf("9开水房||\n");
printf("|------------8图书馆--------------------------|\n");
printf("|||\n");
printf("|-------------6实验楼------|--------7三号教学楼|\n");
printf("||||\n");
printf("||||\n");
printf("4一号教学楼------|--------5二号教学楼|\n");
printf("||\n");
printf("||\n");
printf("|---2行政楼---------------3北区\n");
printf("|\n");
printf("|\n");
printf("1大门口\n");
}
intInfo()//信息介绍
{
printf("1大门口:
出入学校的必经之路\n");
printf("2行政办公楼:
学校最气派的建筑之一\n");
printf("3北区:
金工实训中心,还有几排具有历史沧桑感的教室\n");
printf("4一号教学楼:
主要有小教室,用来上英语课和专业课\n");
printf("5二号教学楼:
主要用来上专业课,五六楼有语音室\n");
printf("6实验楼:
学生上各种实验课的地点\n");
printf("7三号教学楼:
有大教室,一般安排用来上基础课\n");
printf("8图书馆:
学校为同学们提供学习和自习的地方,也是学校的藏书最多的地方\n");
printf("9开水房:
学校唯一一个为同学提供热水的地点\n");
printf("10超市:
学校唯一一个中型超市,在这里可以买到各种生活用品\n");
printf("11榴馨苑:
环境较好的学生食堂,这里因为离女生公寓较近,所以这个食堂女生较多\n");
printf("12洗浴中心:
环境还行就是规模太小,每天都是供不应求\n");
printf("13骊秀苑:
主要经营面食。
我校的物美价廉的食堂,位于男生公寓区,大部分男生在此就餐\n");
printf("14综合楼:
历史较为悠久的一栋教学楼,旁边有学生第二俱乐部,学校的晚会都在这里举行\n");
printf("15游泳池:
大一学生上游泳课的地点\n");
printf("16主田径场:
标准的400m跑道,学生上室外体育课的地点\n");
printf("17综合文体馆:
上室内体育课的地方,是新建成的较为气派\n");
}
intMenu()//主菜单
{
intc;
//intflag;
Map();
system("cls");
fflush(stdin);
printf("\t\t欢迎使用河南财经政法大学导航图系统\n");fflush(stdin);
printf("\t\t1.管理员登录\n");fflush(stdin);
printf("\t\t2.游客登录\n");
printf("\t\t3.退出\n");
printf("\t************河南财经政法大学*******************\n");
printf("\t\t\t请输入您的选择:
");
scanf("%d",&c);
returnc;
}
intadminMenu()//管理员菜单
{
intc;
system("cls");
fflush(stdin);
printf("\t\t欢迎使用河南财经政法大学导航图系统\n");
printf("\t\t1.修改密码\n");
printf("\t\t2.添加景点\n");
printf("\t\t3.修改景点信息\n");
printf("\t\t4.新建景点路径\n");
printf("\t\t5.退出\n");
printf("\t************河南财经政法大学*******************\n");
printf("\t\t\t请输入您的选择:
");fflush(stdin);
scanf("%d",&c);
returnc;
}
inttouristMenu()//游客菜单
{
intc;
system("cls");
fflush(stdin);
printf("\t\t欢迎使用河南财经政法大学导航图系统\n");
printf("\t\t1.景点信息查询\n");
printf("\t\t2.景点问路查询\n");
printf("\t\t3.校园导游图\n");
printf("\t\t4.退出\n");
printf("\t************河南财经政法大学*******************\n");
printf("\t\t\t请输入您的选择:
");
scanf("%d",&c);
returnc;
}
charcodeTest1()//密码测试
{
intt=0;
chars[10],d[10];
FILE*p;
voidas();
if((p=fopen("m.txt","r+"))==NULL)
{
p=fopen("m.txt","w+");
t=1;
}
if(t==1)
{
printf("当前没有任何用户\n");
printf("为用户设置密码:
");
scanf("%s",d);
strcpy(z.b,d);
fprintf(p,"%s",z.b);
fclose(p);
}
if(t==0)
{
fscanf(p,"%s",z.b);
fclose(p);
printf("请输入密码:
");fflush(stdin);
scanf("%s",d);getchar();
if(!
strcmp(z.b,d))
{
printf("正确");getchar();}
else
{
printf("密码错误!
");getchar();
returncodeTest1();
}
}
}
intchangeCode1()//修改密码
{
chars[10];
FILE*p;
voidas();
p=fopen("m.txt","w+");
fscanf(p,"%s",z.b);
fclose(p);
printf("请输入密码:
");fflush(stdin);
scanf("%s",s);
if(!
strcmp(z.b,s))
{
chari;
printf("是否要修改密码?
(输入y修改,n退出!
)");fflush(stdin);
scanf("%c",&i);
if(i=='y')
{
printf("请输入修改密码:
");fflush(stdin);
scanf("%s",z.b);
p=fopen("m.txt","w+");
fprintf(p,"%s",z.b);
fclose(p);
printf("修改成功,请按回车继续......");fflush(stdin);
}
}
else
{
printf("密码错误!
");fflush(stdin);
}
fclose(p);
}
voidchangePoint()//修改景点
{
intn;
charnewname[10],newinfo[100];
printf("请输入要修改地点的序号:
");
fflush(stdin);
scanf("%d",&n);
printf("输入景点名字:
");
fflush(stdin);
gets(newname);
strcpy(G.vexs[n].sight,newname);
printf("输入新景点信息:
");
fflush(stdin);
gets(newinfo);
strcpy(G.vexs[n].info,newinfo);
}
voidnewPoint()//新的景点
{
G.vexnum=G.vexnum+1;
G.vexs[G.vexnum].number=G.vexnum;
printf("请输入景点名称:
");
fflush(stdin);
gets(G.vexs[G.vexnum].sight);
printf("请输入景点信息:
");
fflush(stdin);
gets(G.vexs[G.vexnum].info);
}
voidsearchPoint()//寻找景点
{
intn;
printf("请输入景点序号:
");
fflush(stdin);
scanf("%d",&n);
printf("%d",G.vexs[n].number);
fflush(stdin);
printf("%s\n",G.vexs[n].sight);
fflush(stdin);
printf("%s\n",G.vexs[n].info);
fflush(stdin);
}
voidnewRoad()//新路径
{
inta,b;
printf("\t\t请输入新路径需要连接的两个景点编号:
");
scanf("%d\n%d",&a,&b);
if(a==b||a<0||b<0||a>=17||b>=17)
{
printf("\t\t错误,请检查数据后再次尝试!
");
newRoad();
}
elseif(G.edges[a][b]!
=INF||G.edges[b][a]!
=INF){
printf("\t\t此路径已存在!
请重试。
");
newRoad();
}
else
{
printf("\t\t请输入此路径长度:
");
scanf("%d",&G.edges[a][b]);
printf("\t\t连接着%s和%s的道路长为%d米\n",G.vexs[a].sight,G.vexs[b].sight,G.edges[a][b]);
fflush(stdin);
}
}
voidshortPath(intv0,Patharc*P,ShortPathTable*D);
voiddi