ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:19.10KB ,
资源ID:10616278      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10616278.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(校园导游系统源程序.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

校园导游系统源程序.docx

1、校园导游系统源程序#include #include #include #include#define MaxSize 100 #define VISITED 1 #define NOTVISITED 0 #define Infinite 1073741823 #define MaxViewNum 50 /*景点个数最大50*/#define MaxRoad 1000 /*定义路径为无穷大*/#define N 16 /*目前景点个数*/typedef struct char name30; /*景点名称*/ char number10; /*景点代号*/ char introduce200;

2、 /*景点介绍*/ Elemtype;typedef struct int num; /*景点编号*/ Elemtype date; /*景点信息*/View; /*定义景点*/typedef struct View viewMaxViewNum; /*存放顶点的一维数组,数组第零单元没有用上*/ unsigned int lengthMaxViewNumMaxViewNum; /*存放路径长度*/ int m,n;MGraph;MGraph MGr; /*全局变量,定义MGr为MGraph类型*/int shortestMaxViewNumMaxViewNum; /*定义全局变量存贮最小路径

3、*/int pathMaxViewNumMaxViewNum; /*定义存贮路径*/void init() int i,j; MGr.view1.num=1; strcpy(MGr.view1.date.name,学校正门); strcpy(MGr.view1.date.number,001); strcpy(MGr.view1.date.introduce,毗邻中心大道,交通便利。); MGr.view2.num=2; strcpy(MGr.view2.date.name,行政楼); strcpy(MGr.view2.date.number,002); strcpy(MGr.view2.da

4、te.introduce,学校领导,办公主楼。); MGr.view3.num=3; strcpy(MGr.view3.date.name,科技楼); strcpy(MGr.view3.date.number,003); strcpy(MGr.view3.date.introduce,逸夫科技楼); MGr.view4.num=4; strcpy(MGr.view4.date.name,家属院); strcpy(MGr.view4.date.number,004); strcpy(MGr.view4.date.introduce,兰州理工大学,教职工家属院。); MGr.view5.num=5

5、; strcpy(MGr.view5.date.name,图书馆); strcpy(MGr.view5.date.number,005); strcpy(MGr.view5.date.introduce,历史悠久,文化积淀。供同学安静学习的环境。); MGr.view6.num=6; strcpy(MGr.view6.date.name,机械基地); strcpy(MGr.view6.date.number,006); strcpy(MGr.view6.date.introduce,土木工程学院和机电工程学院,实习实践的地方。); MGr.view7.num=7; strcpy(MGr.vie

6、w7.date.name,学生公寓); strcpy(MGr.view7.date.number,007); strcpy(MGr.view7.date.introduce,学生宿舍区,本科、研究生,以及教师公寓。); MGr.view8.num=8; strcpy(MGr.view8.date.name,餐厅); strcpy(MGr.view8.date.number,008); strcpy(MGr.view8.date.introduce,清泽、智林、风味三大餐厅,周边开水房等服务场所。); MGr.view9.num=9; strcpy(MGr.view9.date.name,怡情园

7、); strcpy(MGr.view9.date.number,009); strcpy(MGr.view9.date.introduce,学校新修建的花园,景色优美,适合同学们晨读); MGr.view10.num=10; strcpy(MGr.view10.date.name,体育场); strcpy(MGr.view10.date.number,010); strcpy(MGr.view10.date.introduce,绿茵地、活动中心。篮球场、足球场、网球场依次,丰富课余生活。); MGr.view11.num=11; strcpy(MGr.view11.date.name,国际交流

8、中心); strcpy(MGr.view11.date.number,011); strcpy(MGr.view11.date.introduce,外国留学生、外籍教师上课活动场所。); MGr.view12.num=12; strcpy(MGr.view12.date.name,流体实验室); strcpy(MGr.view12.date.number,012); strcpy(MGr.view12.date.introduce,兰州理工大学流体实验室,同样也是理学院研究生实验室); MGr.view13.num=13; strcpy(MGr.view13.date.name,工大高层);

9、strcpy(MGr.view13.date.number,013); strcpy(MGr.view13.date.introduce,新建工大高层,是各个院办公室所在地,同样也是各个院行政楼。); MGr.view14.num=14; strcpy(MGr.view14.date.name,教学楼); strcpy(MGr.view14.date.number,014); strcpy(MGr.view14.date.introduce,外语院,设计院等学生日常上课的地方。); MGr.view15.num=15; strcpy(MGr.view15.date.name,附属中学); st

10、rcpy(MGr.view15.date.number,015); strcpy(MGr.view15.date.introduce,兰州理工大学附属中学。); MGr.view16.num=16; strcpy(MGr.view16.date.name,教学北楼); strcpy(MGr.view16.date.number,016); strcpy(MGr.view16.date.introduce,外国留学生日常上课的地方。); for(i=1;i=N;i+) for(j=1;j=N;j+) MGr.lengthij=MaxRoad; for(i=1;i=N;i+) shortestij

11、=0; MGr.length12=MGr.length21=30; MGr.length23=MGr.length32=50; MGr.length34=MGr.length43=60; MGr.length35=MGr.length53=120; MGr.length56=MGr.length65=20; MGr.length67=MGr.length76=230; MGr.length69=MGr.length96=50; MGr.length78=MGr.length87=50; MGr.length89=MGr.length98=230; MGr.length810=MGr.lengt

12、h108=50; MGr.length911=MGr.length119=50; MGr.length1011=MGr.length1110=230; MGr.length1112=MGr.length1211=60; MGr.length1213=MGr.length1312=60; MGr.length1314=MGr.length1413=60; MGr.length1114=MGr.length1411=60; MGr.length1614=MGr.length1416=80; MGr.length1315=MGr.length1513=80; MGr.length216=MGr.le

13、ngth162=50; MGr.length11=MGr.length22=MGr.length33=MGr.length44=0; MGr.length55=MGr.length66=MGr.length77=MGr.length88=0; MGr.length99=MGr.length1010=MGr.length1111=MGr.length1212=0; MGr.length1313=MGr.length1414=MGr.length1515=MGr.length1616=0;void introduce() int m; printf(请输入查询景点编号:n); scanf(%d,&

14、m); fflush(stdin); switch(m) case 1: printf(景点编号:%st,MGr.view1.date.number); printf(景点名称:%sn,MGr.view1.date.name); printf(景点简介:%sn,MGr.view1.date.introduce); break; case 2: printf(景点编号:%st,MGr.view2.date.number); printf(景点名称:%sn,MGr.view2.date.name); printf(景点简介:%sn,MGr.view2.date.introduce); break;

15、 case 3: printf(景点编号:%st,MGr.view3.date.number); printf(景点名称:%sn,MGr.view3.date.name); printf(景点简介:%sn,MGr.view3.date.introduce); break; case 4: printf(景点编号:%st,MGr.view4.date.number); printf(景点名称:%sn,MGr.view4.date.name); printf(景点简介:%sn,MGr.view4.date.introduce); break; case 5: printf(景点编号:%st,MGr

16、.view5.date.number); printf(景点名称:%sn,MGr.view5.date.name); printf(景点简介:%sn,MGr.view5.date.introduce); break; case 6: printf(景点编号:%st,MGr.view6.date.number); printf(景点名称:%sn,MGr.view6.date.name); printf(景点简介:%sn,MGr.view6.date.introduce); break; case 7: printf(景点编号:%st,MGr.view7.date.number); printf(

17、景点名称:%sn,MGr.view7.date.name); printf(景点简介:%sn,MGr.view7.date.introduce); break; case 8: printf(景点编号:%st,MGr.view8.date.number); printf(景点名称:%sn,MGr.view8.date.name); printf(景点简介:%sn,MGr.view8.date.introduce); break; case 9: printf(景点编号:%st,MGr.view9.date.number); printf(景点名称:%sn,MGr.view9.date.name

18、); printf(景点简介:%sn,MGr.view9.date.introduce); break; case 10: printf(景点编号:%st,MGr.view10.date.number); printf(景点名称:%sn,MGr.view10.date.name); printf(景点简介:%sn,MGr.view10.date.introduce); break; case 11: printf(景点编号:%st,MGr.view11.date.number); printf(景点名称:%sn,MGr.view11.date.name); printf(景点简介:%sn,MG

19、r.view11.date.introduce); break; case 12: printf(景点编号:%st,MGr.view12.date.number); printf(景点名称:%sn,MGr.view12.date.name); printf(景点简介:%sn,MGr.view12.date.introduce); break; case 13: printf(景点编号:%st,MGr.view13.date.number); printf(景点名称:%sn,MGr.view13.date.name); printf(景点简介:%sn,MGr.view13.date.introd

20、uce); break; case 14: printf(景点编号:%st,MGr.view14.date.number); printf(景点名称:%sn,MGr.view14.date.name); printf(景点简介:%sn,MGr.view14.date.introduce); break; case 15: printf(景点编号:%st,MGr.view15.date.number); printf(景点名称:%sn,MGr.view15.date.name); printf(景点简介:%sn,MGr.view15.date.introduce); break; case 16

21、: printf(景点编号:%st,MGr.view16.date.number); printf(景点名称:%sn,MGr.view16.date.name); printf(景点简介:%sn,MGr.view16.date.introduce); break; default: printf(输入序号错误。n); break; printf(n);void floyd() /*佛洛依德算法*/ int i,j,k; for(i=1;i=N;i+) for(j=1;j=N;j+) shortestij=MGr.lengthij; pathij=0; /*初始化数组*/ for(k=1;k=N

22、;k+) for(i=1;i=N;i+) for(j=1;j(shortestik+shortestkj) shortestij=shortestik+shortestkj; pathij=k; pathji=k; /*记录经过的路径*/ /end_if /end_for void display(int i,int j) /*打印两个景点的路径及最短路径*/ int a,b; a=i; b=j; printf(您要查询的两景点间最短路径是: nn); fflush(stdin); if(ij) printf(%d,b); while(pathij!=0) printf(-%d,pathij)

23、; if(ij) j=pathij; else i=pathji; printf(%d的最短路径是: %d 米。nn,a,b,shortestab); else printf(%d,a); while(pathij!=0) /*把i到j的路径上所有经过的景点按顺序打印出来*/ printf(-%d,pathij); if(i%dnn,b); printf(%d-%d的最短路径是: %d 米。nn,a,b,shortestab); /*display*/int shortdistance() /*要查找的两景点的最短路径*/ int i,j; printf(请输入要查询的两个景点的数字编号(1-

24、16)中间用空格间隔开。n); scanf(%d %d,&i,&j); if(iN|iN|j16)中间用空格间隔开。n); scanf(%d %d,&i,&j); else floyd(); display(i,j); return 1; fflush(stdin);/*shortestdistance*/long int AMaxSize+1MaxSize+1; /*迪杰斯特拉算法*/long int DMaxSize+1;long int SMaxSize+1,PMaxSize+1;int source,sink;int step = 1;int top = -1; int StackMa

25、xSize+1; void input() int i,j;printf(n请输入起始节点:); scanf(%d,&source); printf(n请输入结束节点:); scanf(%d,&sink); for ( i = 1; i = MaxSize ) printf(没有路径存在!n); exit(1); else Stack+top = value;int Pop() if ( top 0 ) printf(没有路径存在!n); exit(1); return Stacktop-;int minD() int i,t=0; long int minimum = Infinite; for ( i=1;i=N;i+ ) if ( (Si = NOTVISITED) & Di minimum ) minimum = Di; t = i; return t;void output_path() int node = sink; if ( (sink = source) | (Dsink = Infinite) ) printf(n节点%d与节点%d之间没有路径存在!,source,sink); return; printf(n); while ( node != source )

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1