校园导航系统课程设计_第1页
校园导航系统课程设计_第2页
校园导航系统课程设计_第3页
校园导航系统课程设计_第4页
校园导航系统课程设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、校园导航系统课程设计Conipanv numbei : WTUT-WT88Y-W8BBGB-BWYTT-19998校园导航课程设计报告书专 业:计算机科学与技术课程设计名称:数据结构课程设计题 目:校园导航问题班 级:学号:姓名:同组人员: 指导老师:完成时间:2012年2月17曰摘要校园导航问题是基于校园中的不同的景点,从陌生人的角度,为来往的客人提 供校园景点相关信息的查询以及为来往的客人提供校园中任意景点的问路查询,以 便客人能用最短的时间从某一地点到达想要去的地方。大大节约了旅客参观校园的 时间。本文是采用C+作为开发语言,又最大程度上用了 C语言的有关的语法。以 visual c卄为

2、开发工具。旨在实现校园导航系统中,学校的简介,景点的介绍,路 线查询等基本的问题。为来往客人参观校园提供方便。关键词:C+ ; C ; visual C+ ;校园导航目录第一章开发环境和开发工具1.1 C/C+语言简介c语言是一种计算机程序设计语言。它既具有高级语言的特点,乂具有汇编语言 应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它 的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科 研都需要用到c语言,适于编写系统软件,三维,二维图形和动画。具体应用比如 单片机以及嵌入式系统开发。C+是一种静态数据类型检查的、支持多重编程范式的通用程序设计语

3、言。它支 持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等 多种程序设计风格。开发背景随着科学技术的不断发展,计算机科学曰渐成熟,其强大的功能已为人们所深刻 认识,它己进入人类社会的各个领域并发挥着越来越重要的作用。采用计算机进行 校园导航已成为衡量校园数字化的重要标志。校园导航效率的好坏对于来校参观的 客人和学校管理者来说都至关重要,在很大程度上影响着校园的数字化建设和学校 的影响力。因此,本文所研究的校园导航系统具有一定的使用价值和现实意义。开发环境本文所采用的开发环境主要是基于C+的visual stadio c+。它是一个系统的 集成开发环境。很适合CC卄程序的

4、开发。我们日常的学习和生活中大多就用这个 开发环境进行学习和编程。第二章算法思想系统需求分析1、设计你的学校的校园平面图,所选的景点不少于10个。以图中顶点表示校 内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相 关信息。2、为来往客人提供图中任意景点相关信息的查询。3、为来往的客人提供图中任意景点的问路查询,即查询任意两个景点间的一条 最短的简单路径。根据以上分析和抽象可得到本系统的抽象数据类型如下:ADT graph数据对象R:V是校园中景点的集合,称为顶点集。R=VRVR=|v, wE V且P (v, w) , (v, w)表示从景点v到景点w的路径长 度基本操作

5、P :Creatgraph (&G, V, VR)初始条件:V是图的顶点集,VR是图中边的集合。操作结果:按V和VR的定义构造图GoOutput (G)初始条件:图G已经存在。操作结果:打印出图的信息ShortestPath (G, v)初始条件:图G已存在,v是图中的一个顶点。操作结果:返回从v出发到图中任意顶点的最短的路径。ADT graph ;系统总体设计2.2.1系统设计目标本文研究开发的校园导航系统用于支持来往校园参观的客人提供最省时的导航 服务,有如下三个方面的目标:1、为来往的客人提供校园的简介。2、为来往的客人提供校园中各景点的简介,以及各景点的距离等情况。3、为来往的客人提供

6、到达目的地的最短的路线。2. 2. 2开发设计思想基于以上系统设计目标,本文在开发校园导航系统时遵循了以下开发设计思 想:1、采用现有的软硬件环境及先进的管理系统开发方案,从而达到充分利用现 有资源,提高系统开发水平和应用效果的目的。2、尽量达到操作过程中的直观、方便、实用、安全等要求。3、系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于 未参与开发的技术维护人员补充、维护。2. 2. 3系统功能模块设计本系统分为四个模块:菜单模块、景点介绍模块、路径查询模块、最短路径模 块。得到如图3-1所示的系统功能模块图。图3-1系统功能模块图算法思想描述1、迪杰斯特拉算法思想:按路径

7、长度递增次序产生最短路径算法:把V分成两组:(1) S :已求出最短路径的顶点的集合(2) V-S=T :尚未确定最短路径的顶点集合将T中顶点按最短路径递增的次序加入到S中, 保证:(1)从源点V0到S中各顶点的最短路径长度都不大于从VO到T中任何顶点的最短路径长度(2)每个顶点对应一个距离值S中顶点:从V0到此顶点的最短路径长度T中顶点:从V0到此顶点的只包括S中顶点作中间顶点的最短路径长度依据:可以证明V0到T中顶点Vk的最短路径,或是从V0到Vk的直接路径的权值;或是从V0经S中顶点到Vk的路径权值之和2、邻接矩阵建立有无向权图的算法思想:用两个数组分别存储数据元素的信息和数据之间的关系

8、的信息其形式描述如 下:ttdefine Max 32767escfiption);getchaiQ;getchai();break;case 2:system(uclsn);pmgmu();pnntf(iiiittt请选择起点景点(l10): ”);scanf(”d”,&vO);pnntffttt 请选择终点景点(1-10) :“);scanf(”d”,&vl);SlioitestPath(vO);getchaiQ;getchai();break;case Tseaich();break;case5tPriiitMGraph();pnntfCiiiitttt 请按回车键继续.getchai(

9、);getchaiQ; break;;while(ck!=e);2. 主菜单chai Menu0 校简介 I n”);piintfCtt | 2.查询景点路径 | W);pnnrfC*tt | 3.查询景点信息 | n”);pnntfCtt | 5.查询各景点之间的距离| n”);pnnrfCtt | e.退出 | n”);pnntfCtt | n”);pnntfCtt 11 nu);pnntfCtttt请输入您的选择:“); scanf(n%c&c);if(c=,r|c=,2|c=3,|c=,5,|c=,e,)flag=0;wlule(flag);retuni c;3. 查询子菜单chai

10、SearchMenuQ询景点信息void seaich() umber)pnntffWWt您要查找景点信息如下; pmHfCnnttt%25snd;idescnphon); priiitf(,nttt按任回车返回”); getchai();getchai();break;if(i=NUM)pnntfCiiiittt 没有找到! ”);pnntfCiiiittt 按回车键返回.”);getchar();getchaiQ;break;case 2:system(uclsn);pmgmu();introduce();pnntfCiiiitt请输入您要查找的景点名称:”);scanf(H%sH 卫 a

11、me);for(i=l;iNUM;i+)if(!strcmp(name,i. sight)pnntfCWWt您要查找景点信息如下”);piimfCnnttt%25snn,idescnption);pnntfCiittt 按回车键返回.“);getchaiO;getchaiO; break;if(i=NUM)pnntfCiiiittt 没有找到! ”);pnntfCiiiittt 按回车键返回.”);getchar();getchaiQ;break;while(c!=0);5.创建图的函数void CreateUDN(int v,int a)打印出邻接矩阵void PiintMGraph()in

12、t i,j;COUtull=1111H;for(i=l;i;+i)couti.siglit ”;coutendl;for(i=l;i;+i)cout“niTyvi.sight” ”;fbr(j=lj;+j)ifij.adj=Max)coutn no ”;elsecoutn nij.adj; coutnnniin=nnnu;7. 迪杰斯特拉算法void ShoitestPath(int num) dj;dj)Dw)dj;for(t=0;tNUM;t+)Pwt=Pvt; Pww=l;8、输出: 屏幕输出函数:void pingmuQ ;最短路线输出函数void output ;各模块之间的调用关系

13、上模块调用关系如图32所示:图32模块调用关系图源程序代码ttincludeOttinclude ”ttinclude ”ttinclude ”ttdefine Max 32767ttdefine NUM 11typedef struct ArcCellint adj; escription);get char ();get char (); break;case 2 : system(,cls,z); pingmuO ;printf (,znnttt 请选择起点景点(1 10);scanf(%d, &v0);printf (ttt 请选择终点景点(1 10): “);scanf&vl);Sh

14、ortestPath(v0): .n);get char ();get char ();break;case 3 : search ();break;case,5:PrintMGraphO ;printf (nntttt 请按回车键继续.n);get char ();get char (); break;;while (ck!=,e);char Menu ()校简介 | n);printf (,ztt| 2.查询景点路径 | n);printf (,ztt| 3.查询景点信息 | n);printf (,ztt| 5.查询各景点之间的距离| rT);printf (,ztt| e.退出 | n

15、);printf(tt| n);printf (,ztt11 n”);printf (tttt请输入您的选择:”);scanf(%c, &c);if (c=, | | c=,2 | | c二二,3 | | c=,5,| | c=,e)flag。while(flag);return c:char SearchMenu() umber)printf (nnttt您要查找景点信息如下:“);printf(nnttt%-25snn,i description);printf (nttt 按任回车返回.);getchar ();getchar ();break;if(i=NUM)printf (,znn

16、ttt 没有找到!);printf (,znnttt 按回车键返回.);getchar ();getchar ();break;case 2 :system(,cls/);pingmuO ;introduce ();printf (z,nntt请输入您要查找的景点名称:”);scanf(s name);for(i=l;iNUM;i 卄)if(!strcmp(name,il. sight)printf (nnttt您要查找景点信息如下:);printf(nnttt%-25snn, i. description);printf (nttt 按回车键返回.);getchar ();getchar (

17、);break; if(i=NUM)printf (nnttt 没有找到! “);printf (nnttt 按回车键返回getchar ();getchar ();break;while (c!二e);void CreateUDN(int v, int a) umber二i; ight二学校简介;1 . sight二校大门;2 . sight/教学楼;31. sight二中心广场;4 . sight/山顶操场;5 . sight/学生宿舍;6 . sight?图书馆;7 . sight二体育馆;8 . sight二二食堂;9 . sights务楼;101. sight二北门;dj=Max;i

18、 jl. info=NULL;dj=4l.adj=200;1 3.adj=3l.adj=500;3 5. adj二5 3. adj二 100;3 10. adj二10 3. adj二400;4 6. adj2 5. adj2 4. adj5 7. adj4 6. adj4 71. adj6 8. adj7 81. adj6 9. adj ighKC /z;6 4. adj二2005 2. adj二2004 2. adj二3007 5. adj二5006 4. adj二4007 4. adj二6008 6. adj二5008 7. adj二3009 6. adj二500coutendl; for

19、(i=l;i;+i)cout,nn,zi. sight,z for(j=l;j;卄 j)if i jl. adj=Max)coutno “;elsecoutz,i j. adj ; cout,nnnn= =:=:=:=:=:=:=:=nnn; void introduce() escription二河南城建学院坐落在国家旅游城市nntt国家历史文化名城一平顶山,校园椰风流韵、芳林叠翠、风景秀丽。nntt经过二十多年的发展,学校现已形成以城建为主要办学特色nntt文、管、理、经等多学科协调发展的格局,是河南省培养城建类nntt高级应用型人才的重要 基地.目前,学校确立了立足河南nntt逐渐面向全

20、国服务面向定位,充分发 挥学校特色nntt积极扩大对外交流与合作,学术交流日趋nntt频繁,国际影响不断增强nntt下面几点是河南城建学院的办学特色:nntt办 学历史较为悠久nntt学科专业较为齐全nntt师资队伍素质优良 nntt教学成果较为丰硕nntt科研水平不断提高nntt校园文化丰富 活跃nntt人才培养成效显着nntt合作交流曰趋频繁nntt;1. description二学校大门,对面是祥云公园ntt是我们学生休闲娱乐 的好地方;21. description计教系办公大楼,计算机科学技术的科研中心;3 . description二这里是学校的主要的风景区,是学校的标志之一;4

21、. description二在这破地方什么鸟人都有,拿书呐喊的,失恋的,打KISS的,暗送秋波的,ntt可千万别来这鸳鸯之地,你来了,一个电灯泡亮 那儿ntt你说人家两口子咋亲热啊,还是闪为上策;5 . description二学生生活的天堂;6 . description二河南城建学院信息中心,各种书籍应有尽有;7 . description二排球篮球比赛,晚会,各种报告,开学典礼举行都在这破 地方举行;81. description老师和同学们吃饭的地方,这里的饭比一食堂好吃,菜不 错ntt看你肚皮有没有猪八戒大,你要是吃不饱可以考虑来这吃,准让你撑死 9 . description二学生

22、可以在这里买到日常必须品。;10 . description二北门雄伟壮观,十分气派!;void pingmu() ight, 1) ; dj ; dj)D w) dj ;for(t=0;t Da); ight); dj32767&Pab)ight);总 结1、特色:我们组在完成设计球最短路径的函数后,又实现了交互界面的设计,方 便用户个不够好的使用本程序进行在校导航。另外我们还实现了查询校园中各景点间 的距离以及信息查询等功能。2、改进之处:在我们设计的导航系统中不能实现增加景点、删除道路以及修改景 点信息等功能。另外在见图的时候算法的时间复杂度太大。如果能用邻接多重表的存 储方式建立图的其时间复杂度会更好,算法也更加先进。3、总结:本次数据结构课程设计针对具体的项目来进行需求分析、测试计划、概 要设计、详细设计、测试分析等具体的步骤走下来,我从中收获巨大。首先在编写函 数之前要充分利用各种资源、其次。应该更详细的考虑实际情况。才能使程序更具有 实用性。当然更多的是组员之间要有合作的精神。编程是一件和枯燥的事情,但是只要我们认真的专研,我们会从中学到很多在课 本上无法学到的东西,同时也能从中感受到编程的乐趣。在今后的工作、学习中我将 认真

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论