校园导游系统设计与实现(20页).doc
《校园导游系统设计与实现(20页).doc》由会员分享,可在线阅读,更多相关《校园导游系统设计与实现(20页).doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-校园导游系统设计与实现-第 20 页校园导游系统设计与实现 目录1.设计要求2.1需求分析概要设计各个模块名称和功能 系统导游主界面 前台系统后台系统退出系统3实验总结参考文献附件1.设计要求设计一个校园导游程序,为来访的客人提供各种信息查询服务。需求分析设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图(无向网) ,所含景点不少于 30 个。以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。存放景点代号、名称、简介等信息供用户查询。为来访客人提供图中任意景点相关信息的查询。为来访客人提供图中任意景点之间的问路查询。可以为校园平面图增加或删除景点或边,修改边上的权值等
2、。 景点距离图2.2概要设计校园旅游模型是由景点和景点之间的路径组成的, 所以这完全可以用数据结构中的图来模拟。用图的结点代表景点,用图的边代表景点之间的路径。所以首先应设计一个图类。结点值代表景点信息,边的权值代表景点间的距离。结点值及边的权值用顺序表存储,所以需要设计一个顺序表类。 本系统需要查询景点信息和求一个景点到另一个景点的最短路径长度及路线,为方便操作,所以给每个景点一个代码,用结构体类型实现。计算路径长度和最短路线时可用迪杰斯特拉(Dijkastra)算法实现。最后用 switch 选择语句选择执行浏览景点信息或查询最短路径。1、主界面设计为了实现校园导游系统各功能的管理, 首先
3、设计一个含有多个菜单项的主控菜单子程序以链接系统的各项子功能,方便用户使用本系统。2、存储结构设计本系统采用图结构类型(mgraph)存储抽象校园图的信息。其中,各景点间的邻接关系用图邻接矩阵类型(adjmatrix)存储;景点(顶点)信息用结构数组(vexs)存储,其中每个数组元素是一个结构变量,包含景点编号、景点名称及景点介绍三个分量;图的顶点个数及边的条数由分量 vexnum、arcnum 表示,它们是整型数据。3、系统功能设计本系统除了要完成图的初始化功能外还设置了9个子功能。图的初始化由 initgraph()函数实现。依据读入的图的顶点个数和边的条数,分别初始化图结构中图的顶点数组
4、和图的邻接矩阵。9个子功能的设计描述如下。 景点信息查询景点信息查询由函数 seeabout()实现。该功能根据用户输入的景点编号输出该景点的相关信息。如景点编号、名称等。 学校景点介绍学校景点介绍由函数 browsecampus()实现。当用户选择该功能,系统即能输出学校全部景点的信息:包括景点编号、景点名称及景点介绍。 相邻的景点及其距离为使游客能够知道其周围的景点和路径,方便他们迅速知道其所在位置和周围信息 查看浏览线路查看浏览线路由函数 shortestpath_dij()实现。该功能采用迪杰斯特拉(Dijkstra)算法实现。当用户选择该功能,系统能根据用户输入的起始景点编号,求出从
5、该景点到其他景点的最短路径线路及距离。当用户选择该功能,系统能根据用户输入的起始景点及目的景点编号,查询任意两个景点之间的最短路径线路及距离。 更改图信息修改一个已有景点的相关信息、删除一个景点及其相关信息、删除一条路径、加一条路径、修改路径长度、添加一个景点 数据安全防范设置密码,能保证数据不会被随便更改,由pass()判定密码是否正确,可由changepw()函数修改密码,初始密码为gdufsx 写入文件并保存修改打开该软件,若没有graph.txt,则会由系统初始化生成一个,若已存在该文档会由该文档中的内容初始化系统。 恢复初始状态若数据已经显得很杂乱并很难修理,就可以启用这个功能 退出
6、即退出校园导游系统,由 exit(0)函数实现2.3函数结构void initgraph(mgraph &G); /依据读入的图的顶点个数和边的条数, /分别初始化图结构中图的顶点向量数组和图的邻接矩阵void browsecampus(mgraph G); /输出学校全部景点的信息 :编号、名称、介绍 void cgraph(mgraph &G,Password &pw); /构造无向图和读写文件graph。txtvoid writetxt(mgraph &G,Password &pw); /写入文件int pass(Password pw); /认证密码的正确与否,正确返回1,错误返回0v
7、oid reception(mgraph &G); /前台服务函数void seeabout(mgraph &G); /景点信息void shortestpath_dij(mgraph G); /该景点到其他景点的最短路径线路及距离void near(mgraph G); /相邻的景点及其距离 void changegraph(mgraph &G,Password &pw); /后台函数,并调用 void changeP(mgraph &G,Password &pw); /修改一个已有景点的相关信息void deleteP(mgraph &G,Password &pw); /删除一个景点及其相
8、关信void deleteL(mgraph &G,Password &pw); /删除一条路径void addL(mgraph &G,Password &pw); /添加一条路径void changeL(mgraph &G,Password &pw); /修改路径长度 void Add(mgraph &G,Password &pw); /添加一个景点void changepw(mgraph &G,Password &pw); /修改密码void regraph(mgraph &G,Password &pw); /恢复初始状态2.4校园导游主界面 程序运行,后台对图结构进行初始化,运行结果如图2
9、.。 主界面前台系统 前台系统是游客浏览查询界面。如图 游客浏览界面1个别景点的相关信息查询 景点的相关信息查询是通过seeabout ( )函数来调用输出的,在前台系统输入1,输入任一景点编号即可知道其信息。运行结果如图 信息查询2.4.12任意两景点间最短路径查询 根据用户的需求,在用户输入了起点和终点后计算出最短路径是哪一条路径。例如起点是3.中国银行,终点是15.教学楼A栋。运行结果如图2.4.12 2.4.12 任意两景点间最短路径查询2.4.13输出所有景点信息为方便用户一次性知道所有景点信息,设置了查询所有景点的信息如图2.4.13 2.4.13 输出所有景点信息2.4.14相邻
10、的景点及其距离为使游客能够知道其周围的景点和路径,方便他们迅速知道其所在位置和周围信息。如图相邻的景点及其距离后台系统 输入密码为防止他人随意修改景点信息,需密码验证身份,初始密码为gdufsx,进入后台系统后可修改密码,如图 输入密码后台服务后台服务具有以下功能: 修改一个已有景点的相关信息;删除一个景点及其相关信息;删除一条路径;添加一条路径;修改路径长度;添加一个景点;修改密码;恢复初始状态。如图2.4.20。功能如图2.4.21至2.4.28 后台服务 修改一个已有景点的相关信息 删除一个景点及其相关信息删除一条路径添加一条路径修改路径长度 2.4.26 添加一个景点修改密码恢复初始状
11、态在后台系统输入8,就会询问你是否恢复初始状态,暗“Y”将会使之前一切修改的数据信息都恢复原样,重新初始化。恢复初始状态退出系统用户满足了需求之后,只要在主界面菜单处输入0便可退出此次校园导游系统。运行结果如图。退出系统3总结 由于设计者水平有限,本导游图系统的功能还比较简单,没有求出两景点间的多条可行路径供游客选择,无法在界面中显示出地图;由于邻接矩阵是30*30的,所以无法在一个界面中完整简洁的显示出来。还有个很好的想法也没有实现,就是怎样求出游完所有景点是的最短路径和线路,这样游客就不需要重复走过几个景点。在这次作业中,我积累了不少经验,提高了动手能力。在编程序过程中不要急于求成,如果一
12、下字把所有的功能编出来了再去编译,一旦出错,就很难找出是哪里错误了,这就需要一个一个的实现了。这次作业也让我增加了对文件流的理解。参考文献1严蔚敏,李冬梅,吴伟民.数据结构(C语言版).人民邮电出版社.2011.2王珊珊,臧洌,张志航.C+程序设计教程 第二版 .机械工业出版社.2011附件:/程序名称:校园导游系统设计与实现/程序员:Joebug/编写时间:2015年6月#include #include #include #include #include using namespace std;#define N 50#define M 10typedef struct Infor /景
13、点结构体 char name20; /景点名称 char inf100; /景点信息 Infor;typedef structint adjNN; /各景点间的邻接关系用图邻接矩阵类型Infor vexsN; /景点(顶点)信息:int vexnum,arcnum; /图的顶点个数及边的条数mgraph;typedef struct char p6; Password;char inform30100=信息男宿舍,后面是内环,与风采园相近,前面是南苑9-12栋!,一楼价格还好,但饭菜比较难吃,二楼较贵,饭菜还行!,中国银行营业厅,如果要办理业务,需很早地去排队;有ATM机!,二楼有自强社办公室
14、、校学生会办公室一楼有健身房!,东西较贵但品类基本齐全!,主要是老师居住。喜祥数码港要收费,云山数码港在不换硬件条件下免费修!,主要接待外来人员,招待所!,一楼有糖水和奶茶供应,晚上总有很多部门在此开会。二楼有许多套餐!,一楼大众点菜,品类比三饭多。二楼的价格在8元左右!,女生宿舍,北苑三栋楼下有创业园!,组成巡逻队,协助学校保障校园安全。!,位于保卫处后面,在校生校内看病只需支付很少的费用!,具有防空洞;连接宿舍区和教学区!,在隧道口的上方,可以乘坐很多路的公交车!,一楼有中国银行ATM。早上和中午前面有校巴。不少活动的举办地点!,是学习的主要地方,教室里面设施较为齐全,有多媒体、空调、电视
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 校园 导游 系统 设计 实现 20
限制150内