您好,欢迎访问三七文档
数据结构-校园导航系统简介:本系统采用C语言编写,运行环境为Dev-C++;内容以西安电子科技大学南校区为例;主要功能有:1.查询景点信息;2.查询两景点间最短距离;3.查询两景点间所有路线;4.查询西电校园地图;5.修改景点和路径信息.注意事项:在进行修改景点和路径信息操作前,请在可执行文件目录下用记事本创建”superUser.CODE”文件来存放用户名与密码(中间以空格隔开),否则无法进入.源代码:#includestring.h#includestdio.h#includeconio.h#includestdlib.h#includectype.h#defineMax20000typedefstructArcCell{intadj;//两个景点间的距离}ArcCell;typedefstructVertexType{intnumber;//景点编号charsight[100];//景点名称chardescription[1000];//景点简介charparticular1[1000];charparticular2[1000];charparticular3[1000];//景点详情}VertexType;typedefstruct{VertexTypevex[20];//最多存放20个景点信息ArcCellarcs[20][20];//两个景点间的距离intvexnum,arcnum;}MGraph;MGraphG;charnameofschool[100];//学校名称intNUM=9;intP[20][20];intp[20];intvisited[20];inta=0;longintD[20];intx[20]={0};//函数声明voidCreateUDN(intv,inta);voidnarrate();voidShortestPath(intnum);voidoutput(intsight1,intsight2);charMenu();voidsearch();charSearchMenu();voidHaMiTonian(int);voidSearchpath1(MGraphg);voiddisppath(MGraphg,inti,intj);voidpath(MGraphg,inti,intj,intk);voidNextValue(int);voiddisplay();intAddnewsight(intn);intDeletesight(intn);voidChangesight();charChangemenu();charSightmenu();intMaintain(void);intVerificatianIdentity(void);voidmap();//主函数intmain(){intv0,v1;intMaintainFlag;charck;system(color0F);CreateUDN(NUM,11);do{ck=Menu();switch(ck){case'1':search();break;case'2':system(cls);narrate();printf(\n\n\t\t\t请选择起点景点(0~%d):,NUM-1);scanf(%d,&v0);printf(\t\t\t请选择终点景点(0~%d):,NUM-1);scanf(%d,&v1);ShortestPath(v0);output(v0,v1);printf(\n\n\t\t\t\t请按任意键继续...\n);getchar();getchar();break;case'3':system(cls);narrate();x[0]=1;Searchpath1(G);printf(\n\n\t\t\t\t请按任意键继续...\n);getchar();getchar();break;case'4':system(cls);map();printf(\n\n\t\t\t\t\t请按任意键继续...\n);getchar();getchar();break;case'5':system(cls);narrate();MaintainFlag=Maintain();switch(MaintainFlag){case'1':system(cls);narrate();NUM=Addnewsight(NUM);system(cls);narrate();break;case'2':NUM=Deletesight(NUM);break;case'3':Changesight();break;}break;};}while(ck!='e');return0;}//主菜单charMenu(){charc;intflag;do{flag=1;system(cls);narrate();printf(\n\t\t\t┏━━━━━━━━━━━━━━━┑\n);printf(\t\t\t┃┃\n);printf(\t\t\t┃1、查询景点信息┃\n);printf(\t\t\t┃2、查询两景点间最短路径┃\n);printf(\t\t\t┃3、查询两景点间所有路线┃\n);printf(\t\t\t┃4、查看西电校园地图┃\n);printf(\t\t\t┃5、修改景点和路径信息┃\n);printf(\t\t\t┃e、退出┃\n);printf(\t\t\t┃┃\n);printf(\t\t\t┗━━━━━━━━━━━━━━━┛\n);printf(\t\t\t\t请输入您的选择:);scanf(%c,&c);if(c=='1'||c=='2'||c=='3'||c=='4'||c=='5'||c=='e')flag=0;}while(flag);returnc;}//查询菜单charSearchMenu(){charc;intflag;do{flag=1;system(cls);narrate();printf(\n\t\t\t┏━━━━━━━━━━━━━━━┑\n);printf(\t\t\t┃┃\n);printf(\t\t\t┃1、按照景点编号查询┃\n);printf(\t\t\t┃2、按照景点名称查询┃\n);printf(\t\t\t┃e、返回┃\n);printf(\t\t\t┃┃\n);printf(\t\t\t┗━━━━━━━━━━━━━━━┛\n);printf(\t\t\t\t请输入您的选择:);scanf(%c,&c);if(c=='1'||c=='2'||c=='e')flag=0;}while(flag);returnc;}//查询信息voidsearch(){intnum;inti;charc;charname[20];do{system(cls);c=SearchMenu();switch(c){case'1':system(cls);narrate();printf(\n\n\t\t请输入您要查找的景点编号:);scanf(%d,&num);for(i=0;iNUM;i++){if(num==G.vex[i].number){printf(\n\t\t您要查找景点信息如下:);printf(\n\t\t(%d)%-5s:%-25s\n\n,i,G.vex[i].sight,G.vex[i].description);printf(\t\t\t\t\t详情介绍:\n\t\t%-s\n,G.vex[i].particular1);printf(\t\t%-s\n,G.vex[i].particular2);printf(\t\t%-s\n,G.vex[i].particular3);printf(\n\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);narrate();printf(\n\n\t\t请输入您要查找的景点名称:);scanf(%s,name);for(i=0;iNUM;i++){if(!strcmp(name,G.vex[i].sight)){printf(\n\t\t您要查找景点信息如下:);printf(\n\t\t(%d)%-5s:%-25s\n\n,i,G.vex[i].sight,G.vex[i].description);printf(\t\t\t\t\t详情介绍:\n\t\t%-s\n,G.vex[i].particular1);printf(\t\t%-s\n,G.vex[i].particular2);printf(\t\t%-s\n,G.vex[i].particular3);printf(\n\t\t按任意键返回...);getchar();getchar();break;}}if(i==NUM){printf(\n\n\t\t\t没有找到!);printf(\n\n\t\t\t按任意键返回...);getchar();getchar();}break;}}while(c!='e');}//构造图形voidCreateUDN(intv,inta){inti,j;strcpy(nameofschool,西安电子科技大学);G.vexnum=v;G.arcnum=a;for(i=0;i20;++i)G.vex[i].number=i;strcpy(G.vex[0].sight,东门);strcpy(G.vex[0].description,学校正门,可乘坐公交车,出租车等交通工具.);strcpy(G.vex[0].particular1,作为学校的正门,门外的交通系统非常发达,常年有出租车);strcpy(G.vex[0].particular2,经过,还有916路,173路等众多公交车线路在此设立站牌,所以);strcpy(G.vex[0].particular3,完全没必要担心坐不到车,出行非常方便!);strcpy(G.vex[1].sight,图书馆);strcpy(G.vex[1].description,馆藏文纸质献约270万余册,种类丰富,环境优美.);strcpy(G.vex[1].particular1,南校区图书馆2005年7月1日奠基,主要服务于新校区2万余);strcpy(G.vex[1].particular2,名本科生.地上建筑面积4万平方米,总框架五层,地下一层,地面);strcpy(G.vex[1].particular3,四层.拥有先进的设施、优雅温馨的阅读环境.);strcpy(G.vex[2].sight,北门);strcpy(G.vex[2].description,西电南校区的另外一个出入口,备有一个停车场.);strcpy(G.vex[2].particular1,北门日常的人流量不亚于东门,在这里有一个停车场,而且);strcpy(G.vex[2].particular2,这里还是西电的快递接收点,可以供广大师生在此寄取快递,非);strcpy(G.vex[2].particular3,常方便.而且临近综合楼,较为繁华.);strcpy(G.vex[3].sight,海棠区);strcpy(G.vex[3].description,2017级大一萌新即将入住的宿舍区.o);strcpy(G.vex[3].particular1,海棠宿舍位于学校西北面,所以距离北操,新综,北门较近,);strcpy(G.vex[3].particular2,准大一的学弟学妹们将会主要居住在5.6号楼(还有一部分会在);strcpy(G.vex[3].particular3,9.10号楼).海棠宿舍为两室一厅,每室各四人.);strcpy(G.
本文标题:校园导航系统源代码
链接地址:https://www.777doc.com/doc-5184095 .html