欢迎来到天天文库
浏览记录
ID:6327618
大小:138.50 KB
页数:36页
时间:2018-01-10
《c语言课程设计报告-校园导游系统设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课程设计:校园导游系统校园导游系统设计报告1.需求分析:此次课程设计的主要内容是校园导航系统,所谓系统其实也不尽然,只不过是个小小的提示,为来访的客人提供各种信息查询服务。主要包括:①查看学校的全景图②各个景点的简介③学校主要景点的分布④查看某一景点到其它所有景点的最短路径⑤查询任意两个景点之间的最短路径。一些约定:⑴对于功能①的输入形式是没什么要求的,主要就是根据菜单的提示输入相应的数字选择相应的功能;对于功能②的输入形式的要求也比较简单,要查询某一景点的简介直接输入其对应的编号即可;对于功能③的输入形式的要求同功能①;对于功能④只需要输
2、入想要查看的起始景点的编号即可;对于功能⑤只需要输入起始景点和目的景点的编号即可。此程序在输入形式上都没什么特殊的要求只是一些简单的数字就可以搞定一切。⑵功能①③就是输出由字符构成的一幅简易图,形式比较单一;景点的简介方面输出景点的简单信息就可以了;要查询最短路径的话输出的自然是从起始景点到目的地的最短路径中所途经的各个景点及距离。课程设计:校园导游系统⑶本程序所能达到的功能就是前面所提到的①—⑤中的功能。2.概要设计:抽象数据类型的定义:ADTGraph{数据对象V:V具有相同特性的数组元素的集合,称为顶点集。数据关系R:R={VR}VR={3、>4、v,w∈V且P(v,w),表示从v到w的弧,谓词P(v,w)定义了弧的意义或信息}基本操作P:CreateGraph(&G,V,VR);初始条件:V是图的顶点集,VR是图中弧的集合。操作结果:按V和VR的定义构造图G。DistroyGraph(&G)初始条件:图G存在操作结果:销毁图GLocateVex(G,u);初始条件:图G存在,u和G中顶点有相同的特征。课程设计:校园导游系统操作结果:若存在顶点u,则返回该顶点在图中的位置;否则返回其他信息。GetVex(G,u);初始条件:图G存在,u是图中的顶点。操作结果:返回u的值。5、InsertVex(&G,v);初始条件:图G存在,v和图中的顶点有相同的特性。操作结果:在图G中新增顶点v.InsertArc(&G,v,w);初始条件:图G存在,v和w是图中的顶点。操作结果:在图G中增添弧,若是无向图,还增添弧。}ADTGraph主程序流程(各函数之间的调用关系):Main();//主函数Initview();//景点信息的初始化InitLength();//各个景点之间距离的初始化log();//登录时的头部showmenu();//登录后的菜单课程设计:校园导游系统browser();//全景图的浏览bro6、wse_view_info();//景点简介的查询browse_view_distribute();//主要景点的分布onetoall();//某一景点到其它所有景点的最短路径onetoone();//查询任意两个景点之间的最短路径onetuone()onetoall()Browse_vew_distribute()Browse_vew_info()Browser()Showmenu()InitLength()Initview()Main调用关系如下:(函数内部没什么调用关系)log()3.详细设计:⑴图的结构:typedefstructview//点7、的结构{intno;//景点编号charname[100];//景点名称charbriefinfo[1000];//景点简介}view;typedefstructedge//边的结构课程设计:校园导游系统{intlength;//两个景点之间的距离chardirection[4];//方向}edge;⑵各个函数的伪代码如下Initview()、InitLength()、log()、showmenu()、broser()、browse_view_distribute()、browse_view_info()等都是一些初始化或者即时显示,此处不再写其伪代码8、,在附录中给出。Main(){path=(edge**)malloc(MAX*sizeof(edge));for(v=0;v9、MAX*sizeof(int*));Initview(TD);InitLength(path)
3、>
4、v,w∈V且P(v,w),表示从v到w的弧,谓词P(v,w)定义了弧的意义或信息}基本操作P:CreateGraph(&G,V,VR);初始条件:V是图的顶点集,VR是图中弧的集合。操作结果:按V和VR的定义构造图G。DistroyGraph(&G)初始条件:图G存在操作结果:销毁图GLocateVex(G,u);初始条件:图G存在,u和G中顶点有相同的特征。课程设计:校园导游系统操作结果:若存在顶点u,则返回该顶点在图中的位置;否则返回其他信息。GetVex(G,u);初始条件:图G存在,u是图中的顶点。操作结果:返回u的值。
5、InsertVex(&G,v);初始条件:图G存在,v和图中的顶点有相同的特性。操作结果:在图G中新增顶点v.InsertArc(&G,v,w);初始条件:图G存在,v和w是图中的顶点。操作结果:在图G中增添弧,若是无向图,还增添弧。}ADTGraph主程序流程(各函数之间的调用关系):Main();//主函数Initview();//景点信息的初始化InitLength();//各个景点之间距离的初始化log();//登录时的头部showmenu();//登录后的菜单课程设计:校园导游系统browser();//全景图的浏览bro
6、wse_view_info();//景点简介的查询browse_view_distribute();//主要景点的分布onetoall();//某一景点到其它所有景点的最短路径onetoone();//查询任意两个景点之间的最短路径onetuone()onetoall()Browse_vew_distribute()Browse_vew_info()Browser()Showmenu()InitLength()Initview()Main调用关系如下:(函数内部没什么调用关系)log()3.详细设计:⑴图的结构:typedefstructview//点
7、的结构{intno;//景点编号charname[100];//景点名称charbriefinfo[1000];//景点简介}view;typedefstructedge//边的结构课程设计:校园导游系统{intlength;//两个景点之间的距离chardirection[4];//方向}edge;⑵各个函数的伪代码如下Initview()、InitLength()、log()、showmenu()、broser()、browse_view_distribute()、browse_view_info()等都是一些初始化或者即时显示,此处不再写其伪代码
8、,在附录中给出。Main(){path=(edge**)malloc(MAX*sizeof(edge));for(v=0;v9、MAX*sizeof(int*));Initview(TD);InitLength(path)
9、MAX*sizeof(int*));Initview(TD);InitLength(path)
此文档下载收益归作者所有