xiaoyuandaoyou.rar

  • PUDN用户
    了解作者
  • Visual C++
    开发工具
  • 2KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 1
    下载次数
  • 2010-06-29 14:16
    上传日期
该代码为 数据结构 校园导游 代码 无错误 课运行
xiaoyuandaoyou.rar
  • 校园导游咨V03081139 李云飞.cpp
    9.3KB
内容介绍
#include<iostream> #include<string> using namespace std; #define MaxVertexNum 50 /*景点个数最大50*/ #define MAXCOST 1000 /*定义路径的无穷大*/ #define T 10 /*目前景点个数*/ typedef struct { char name[20]; /*景点名称*/ char number[15]; /*景点代号*/ char introduce[100]; /*景点简介*/ }Elemtype; typedef struct { int num; /*顶点编号*/ Elemtype date; /*顶点信息*/ }Vertex; /*定义顶点*/ typedef struct { Vertex vexs[MaxVertexNum]; /*存放顶点的一维数组,数组第零个单元没有用上*/ unsigned int edges[MaxVertexNum][MaxVertexNum]; /*存放路径的长度*/ int n,e; }MGraph; MGraph MGr; /*全局变量,定义MGr为MGraph类型*/ int shortest[MaxVertexNum][MaxVertexNum]; /*定义全局变量存贮最小路径*/ int path[MaxVertexNum][MaxVertexNum]; /*定义存贮路径*/ void init() { int i,j; MGr.vexs[1].num=1; strcpy(MGr.vexs[1].date.name,"学校正门"); strcpy(MGr.vexs[1].date.number,"001"); strcpy(MGr.vexs[1].date.introduce,"挨着公路,出行方便"); MGr.vexs[2].num=2; strcpy(MGr.vexs[2].date.name,"综合楼"); strcpy(MGr.vexs[2].date.number,"002"); strcpy(MGr.vexs[2].date.introduce,"商店 小吃一条街。"); MGr.vexs[3].num=3; strcpy(MGr.vexs[3].date.name,"信远楼"); strcpy(MGr.vexs[3].date.number,"003"); strcpy(MGr.vexs[3].date.introduce,"上课的地方。"); MGr.vexs[4].num=4; strcpy(MGr.vexs[4].date.name,"教学馆ABCDEFG"); strcpy(MGr.vexs[4].date.number,"004"); strcpy(MGr.vexs[4].date.introduce,"上课的地方。"); MGr.vexs[5].num=5; strcpy(MGr.vexs[5].date.name,"篮球场"); strcpy(MGr.vexs[5].date.number,"005"); strcpy(MGr.vexs[5].date.introduce,"打篮球的地方。"); MGr.vexs[6].num=6; strcpy(MGr.vexs[6].date.name,"大活"); strcpy(MGr.vexs[6].date.number,"006"); strcpy(MGr.vexs[6].date.introduce,"开晚会搞活动的地方。"); MGr.vexs[7].num=7; strcpy(MGr.vexs[7].date.name,"大学生俱乐部"); strcpy(MGr.vexs[7].date.number,"007"); strcpy(MGr.vexs[7].date.introduce,"健身,开完会,娱乐。"); MGr.vexs[8].num=8; strcpy(MGr.vexs[8].date.name,"竹园公寓"); strcpy(MGr.vexs[8].date.number,"008"); strcpy(MGr.vexs[8].date.introduce,"学生宿舍。"); MGr.vexs[9].num=9; strcpy(MGr.vexs[9].date.name,"丁香公寓"); strcpy(MGr.vexs[9].date.number,"009"); strcpy(MGr.vexs[9].date.introduce,"学生宿舍。"); MGr.vexs[10].num=10; strcpy(MGr.vexs[10].date.name,"海棠公寓"); strcpy(MGr.vexs[10].date.number,"010"); strcpy(MGr.vexs[10].date.introduce,"学生宿舍。"); for(i=1;i<=T;i++) { for(j=1;j<=T;j++) { MGr.edges[i][j]=MAXCOST; } } for(i=1;i<=T;i++) { shortest[i][i]=0; } /*初始化*/ MGr.edges[1][2]=MGr.edges[2][1]=25; MGr.edges[1][5]=MGr.edges[5][1]=15; MGr.edges[1][3]=MGr.edges[3][1]=10; MGr.edges[2][8]=MGr.edges[8][2]=30; MGr.edges[5][7]=MGr.edges[7][5]=32; MGr.edges[7][8]=MGr.edges[8][7]=12; MGr.edges[6][7]=MGr.edges[7][6]=6; MGr.edges[3][4]=MGr.edges[4][3]=24; MGr.edges[4][5]=MGr.edges[5][4]=36; MGr.edges[5][6]=MGr.edges[6][5]=34; MGr.edges[4][6]=MGr.edges[6][4]=32; MGr.edges[1][9]=MGr.edges[9][1]=35; MGr.edges[1][10]=MGr.edges[10][1]=36; MGr.edges[2][9]=MGr.edges[9][2]=36; MGr.edges[2][10]=MGr.edges[10][2]=37; MGr.edges[3][9]=MGr.edges[9][3]=75; MGr.edges[3][10]=MGr.edges[10][3]=32; MGr.edges[4][9]=MGr.edges[9][4]=30; MGr.edges[4][10]=MGr.edges[10][4]=53; MGr.edges[5][9]=MGr.edges[9][5]=34; MGr.edges[5][10]=MGr.edges[10][5]=15; MGr.edges[9][6]=MGr.edges[6][9]=52; MGr.edges[6][10]=MGr.edges[10][6]=16; MGr.edges[7][9]=MGr.edges[9][7]=50; MGr.edges[7][10]=MGr.edges[10][7]=24; MGr.edges[8][9]=MGr.edges[9][8]=13; MGr.edges[8][10]=MGr.edges[10][8]=32; MGr.edges[9][10]=MGr.edges[10][9]=27; MGr.edges[1][1]=MGr.edges[2][2]=MGr.edges[3][3]=MGr.edges[4][4]=0; MGr.edges[5][5]=MGr.edges[6][6]=MGr.edges[7][7]=MGr.edges[8][8]=0; MGr.edges[9][9]=MGr.edges[10][10]=0; } void introduce() { int n; cout<<"请输入查询景点编号:"<<endl; cin>>n; switch(n) { case 1: cout<<"景点编号:"<<MGr.vexs[1].date.number<<"景点名称:"<<MGr.vexs[1].date.name; cout<<"景点简介:"<<MGr.vexs[1].date.introduce<<endl; break; case 2: cout<<"景点编号:"<<MGr.vexs[2].date.number<<"景点名称:"<<MGr.vexs[2].date.name; cout<<"景点简介:"<<MGr.vexs[2].date.introduce<<endl; break; case 3: cout<<"景点编号:"<<MGr.vexs[3].date.number<<"景点名称:"<<MGr.vexs[3].date.name; cout<<"景点简介:"<<MGr.vexs[3].date.introduce<<endl; break; case 4: cout<<"景点编号:"<<MGr.vexs[4].date.number<<"景点名称:"<<MGr.vexs[4].date.name; cout<<"景点简介:"<<MGr.vexs[4].date.introduce<<endl; break; case 5: cout<<"景点编号:"<<MGr.vexs[5].date.number<<"景点名称:"<<MGr.vexs[5].date.name; cout<<"景点简介:"<<MGr.vexs[5].date.introduce<<endl; break; case 6: cout<<"景点编号:"<<MGr.vexs[6].date.number<<"景点名称:"<<MGr.vexs[6].date.name; cout<<"景点简介:"<<MGr.vexs[6].date.introduce<<endl; break; case 7: cout<<"景点编号:"<<MGr.vexs[7].date.number<<"景点名称:"<<MGr.vexs[7].date.name; cout<<"景点简介:"<<MGr.vexs[7].date.introduce<<endl; break; case 8: cout<<"景点编号:"<<MGr.vexs[8].date.number<<"景点名称:"<<MGr.vexs[8].date.name; cout<<"景点简介:"<<MGr.vexs[8].date.introduce<<endl; break; case 9: cout<<"景点编号:"<<MGr.vexs[9].date.number<<"景点名称:"<<MGr.vexs[9].date.name; cout<<"景点简介:"<<MGr.vexs[9].date.introduce<<endl; break; case 10: cout<<"景点编号:"<<MGr.vexs[10].date.number<<"景点名称:"<<MGr.vexs[10].date.name; cout<<"景点简介:"<<MGr.vexs[10].date.introduce<<endl; break; default: cout<<"输入序号错误。"; break; } } void floyd() { int i,j,k; for(i=1;i<=T;i++) { for(j=1;j<=T;j++) { shortest[i][j]=MGr.edges[i][j]; path[i][j]=0; } } /*初始化数组*/ for(k=1;k<=T;k++) { for(i=1;i<=T;i++) { for(j=1;j<=T;j++) { if(shortest[i][j]>(shortest[i][k]+shortest[k][j])) { shortest[i][j]=shortest[i][k]+shortest[k][j]; path[i][j]=k; path[j][i]=k;/*记录经过的路径*/ }//end_if } } }//end_for } void display(int i,int j) {/* 打印两个景点的路径及最短距离 */ int a,b; a=i; b=j; cout<<"您要查询的两景点间最短路径是:\n\n"; if(shortest[i][j]!=MaxVertexNum) { if(i<j) { cout<<b; while(path[i][j]!=0) {/* 把i到j的路径上所有经过的景点按逆序打印出来*/ cout<<"<-"<<path[i][j]; if(i<j) j=path[i][j]; else i=path[j][i]; } cout<<"<-"<<a; cout<<"\n\n"; cout<<a<<"- rel='nofollow' onclick='return false;'>"<<b<<"最短距离是"<< shortest[a][b]<<"米"<<"\n\n"; } else { cout<<a; while(path[i][j]!=0) {/* 把i到j的路径上所有经过的景点按顺序打印出来*/ cout<<"- rel='nofollow' onclick='return false;'>"<<path[i][j]; if(i<j) j=path[i][j]; else i=path[j][i]; } cout<<"->"<<b; cout<<"\n\n"; cout<<a<<"- rel='nofollow' onclick='return false;'>"<<b<<"最短距离是:"<< shortest[a][b]<<"米\n\n"<<endl; } } else cout<<"输入错误!不存在此路!\n\n"; }/*display
评论
    相关推荐
    • 校园导游图.zip
      数据结构图的应用,图之间的最短路径,景点的操作
    • c语言设计校园导游咨询
      printf("------------欢迎使用校园导游系统!-------------"); printf("1.景点信息查询···请按i(introduce)键\n"); printf("2.景点最短路径查询···请按s(shortestdistance)键\n"); printf("3.退出系统··...
    • 校园导游算法
      校园导游 ppt课件 c++ 可运行
    • 校园导游系统C++
      /*校园导游程序*/ /*[问题描述] 用无向网表示学校的校园景点平面图,图中顶点表示主要景点, 存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览...
    • 校园导游JAVA
      设计一个校园导游程序,为来访的客人提供信息查询服务。 2.【基本要求】 (1) 设计学校的校园平面图,所含景点不少于10个,以图中顶点表示校内各景点,存放景点名称、代号、简介等信息,以边表示路径,存放路径长度等...
    • c++校园导游
      这是用c++写的校园导游,里面实现了查询任意两点间最短路径,全部路径,修改道路信息,显示道路之间的信息等,功能齐全。
    • 校园导游咨询
      校园导游咨询、数据结构、算法
    • 校园导游咨询
      含有两个不同算法的程序
    • 校园导游 数据结构
      设计一个校园导游咨询程序,为来访的客人提供各种信息查询服务。 a. 设校园平面图,所含景点不少于十个。以图中各顶点表示校内各景点,存放景点名称,代号,简介等信息 ;以边表示路径,存放路径长度等相关信息 b. ...
    • 校园导游系统
      /*校园导游程序*//*[问题描述] 用无向网表示学校的校园景点平面图,图中顶点表示主要景点, 存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、...