C语言课程设计报告校园导游系统设计.doc

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言课程设计报告校园导游系统设计

校园导游系统设计报告 1.需求分析: 此次课程设计的主要内容是校园导航系统,所谓系统其实也不尽然,只不过是个小小的提示,为来访的客人提供各种信息查询服务Main();//主函数 Initview();//景点信息的初始化 InitLength();//各个景点之间距离的初始化 log();//登录时的头部 showmenu();//登录后的菜单 browser();//全景图的浏览 browse_view_info();//景点简介的查询 browse_view_distribute();//主要景点的分布 onetoall();//某一景点到其它所有景点的最短路径 onetoone();//查询任意两个景点之间的最短路径 调用关系如下:(函数内部没什么调用关系) 3.详细设计: ⑴图的结构: typedef struct view//点的结构 { int no;//景点编号 char name[100];//景点名称 char briefinfo[1000];//景点简介 }view; typedef struct edge//边的结构 { int length;//两个景点之间的距离 char direction[4];//方向 }edge; ⑵各个函数的伪代码如下 Initview()、InitLength()、log()、showmenu()、broser()、browse_view_distribute()、browse_view_info()等都是一些初始化或者即时显示,此处不再写其伪代码,在附录中给出。 Main() { path=(edge **)malloc(MAX*sizeof(edge)); for(v=0;vMAX;v++) path[v]=(edge *)malloc(1000*sizeof(edge)); TD=(view *)malloc(MAX*sizeof(view)); D=(DistancMatrix )malloc(MAX*sizeof(DistancMatrix)); P=(PathMatrix )malloc(MAX*sizeof(PathMatrix)); for(v=0;vMAX;++v) P[v]=(int *)malloc(MAX*sizeof(int *)); Initview(TD); InitLength(path);//初始化 system(mode con: cols=140 lines=130); log();while(1){ showmenu();//菜单 printf(请选择:\n); scanf(%d,k); switch(k){ case 1: browser();system(cls);break; case 2: browse_view_info(TD);system(cls);break; case 3: browse_view_distribute();system(cls);break; case 4: onetoall(P,D,TD,path);system(cls);break; case 5: onetoone(P,D,TD,path); system(cls);break; case 0: exit(0); }}} Void onetoone(PathMatrix P,DistancMatrix D,view *TD,edge **path) {//迪杰斯特拉算法 while(flag) { printf(请输入一个起始景点编号); scanf(v0); if(v00||v0MAX) {printf(景点编号不存在!请重新输入景点编号:); scanf(v0);} if(v0=0v0MAX) flag=0; } flag=1; while(flag) { printf(请输入一个目的地景点编号:); scanf(%d,v1); if(v10||v1MAX) { printf(景点编号不存在!请重新输入景点编号:); scanf(%d,v1); }if(v1=0v1MAX) flag=0; } for(v=0;vMAX;v++) { final[v]=0; D[v]=path[v0][v].length; for(w=0;wMAX;w++)P[v][w]=0; if(D[v]INFINITY){ P[v][v0]=1;P[v][v]=1; } } D[v0]=0;final[v0]=1; for(i=1;iMAX;i++){ min=INFINITY;

文档评论(0)

almm118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档