资源简介

C实现校园导航系统,至少包括10个以上的场所. 每俩个场所间可以有不同的路,选择最短的路径. 实现校园导航

资源截图

代码片段和文件信息

#define INFINITY 10000 
#define MAX_VERTEX_NUM 40 
#define MAX 40 
#include 
#include 
#include 
#include 
typedef struct ArCell 

int adj; /*路径长度 */
}ArCellAdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; 
typedef struct /*图中顶点表示主要景点,存放景点的编号、名称、简介等信息, */

char name[30]; 
int num; 
char introduction[100];/*简介*/ 
}infotype; 
typedef struct 

infotype vexs[MAX_VERTEX_NUM]; 
AdjMatrix arcs; 
int vexnumarcnum; 
}MGraph; 
MGraph b; 

void cmd(void); 
MGraph InitGraph(void); 
void Menu(void); 
void Browser(MGraph *G); 
void ShortestPath_DIJ(MGraph * G); 
void Floyd(MGraph *G); 
void Search(MGraph *G); 
int LocateVex(MGraph *Gchar* v); 
MGraph * CreatUDN(MGraph *G); 
void print(MGraph *G); 
/******************************************************/ 
void main(void) 

system(“color 1f“); 
system(“mode con: cols=140 lines=130“); 
cmd(); 

/******************************************************/ 

void cmd(void) 

int i; 
b=InitGraph(); 
Menu(); 
scanf(“%d“&i); 
while(i!=5) 

switch(i) 

case 1:system(“cls“);Browser(&b);Menu();break; 
case 2:system(“cls“);ShortestPath_DIJ(&b);Menu();break; 
case 3:system(“cls“);Floyd(&b);Menu();break; 
case 4:system(“cls“);Search(&b);Menu();break; 
case 5:exit(1);break; 
default:break; 


scanf(“%d“&i); 


MGraph InitGraph(void) 

MGraph G; 
int ij; 
G.vexnum=10; 
G.arcnum=14; 
for(i=0;iG.vexs[i].num=i; 
strcpy(G.vexs[0].name“北园食堂“); 
strcpy(G.vexs[0].introduction“南园食堂“); 
strcpy(G.vexs[1].name“物理楼“); 
strcpy(G.vexs[1].introduction“数计楼,楼高4层“); 
strcpy(G.vexs[2].name“5号学生宿舍楼“); 
strcpy(G.vexs[2].introduction“计算机系男生宿舍楼,苏式建筑“); 
strcpy(G.vexs[3].name“医务室“); 
strcpy(G.vexs[3].introduction“校医院设施一般“); 
strcpy(G.vexs[4].name“图书馆“); 
strcpy(G.vexs[4].introduction“藏书百万册设施良好,环境幽雅“); 
strcpy(G.vexs[5].name“足球场“); 
strcpy(G.vexs[5].introduction“现代化塑胶跑道人造草坪适宜锻炼身体的场所“); 
strcpy(G.vexs[6].name“陶园“); 
strcpy(G.vexs[6].introduction“绿树成荫适宜休息和读书“); 
strcpy(G.vexs[7].name“主教学楼“); 
strcpy(G.vexs[7].introduction“学院最大的教学楼共20层,环形建筑适宜学习“); 
strcpy(G.vexs[8].name“化学楼“); 
strcpy(G.vexs[8].introduction“设施良好“); 
strcpy(G.vexs[9].name“体育楼“); 
strcpy(G.vexs[9].introduction“运动设施先进环境良好“); 
for(i=0;ifor(j=0;jG.arcs[i][j].adj=INFINITY; 
G.arcs[0][1].adj=100; 
G.arcs[0][2].adj=200; 
G.arcs[0][6].adj=400; 
G.arcs[1][7].adj=300; 
G.arcs[2][3].adj=120; 
G.arcs[3][6].adj=220; 
G.arcs[3][4].adj=100; 
G.arcs[4][5].adj=300; 
G.arcs[4][9].adj=250; 
G.arcs[5][9].adj=350; 
G.arcs[6][7].adj=60; 
G.arcs[6][9].adj=200; 
G.arcs[7][8].adj=50; 
G.arcs[8][9].adj=20; 
for(i=0;ifor(j=0;jG.arcs[j][i].adj=G.arcs[i][j].adj; 
return G; 
}//InitGraph end 
void Menu() 

printf(“\n 盐城师范学院导游图\n“); 
printf(“ ┏━━━━━━━━━━━━━━━━━━━━┓\n“); 
printf(“ ┃ 1.浏览校园全景 ┃\n“); 
printf(“ ┃ 2.查看所有游览路线 ┃\n“); 
print

评论

共有 条评论