实验三广外校园导游系统的设计与实现.doc
《实验三广外校园导游系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《实验三广外校园导游系统的设计与实现.doc(11页珍藏版)》请在三一办公上搜索。
1、广外校园导游系统的设计与实现广东外语外贸大学 电气1206 吴俊辉一、设计要求设计一个校园导游程序,为来访的客人提供各种信息查询服务。2、需求分析设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图(无向网),所含景点不少于30个。以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。存放景点代号、名称、简介等信息供用户查询。为来访客人提供图中任意景点相关信息的查询。为来访客人提供图中任意景点之间的问路查询。可以为校园平面图增加或删除景点或边,修改边上的权值等。二、概要设计校园旅游模型是由景点和景点之间的路径组成的,所以这完全可以用数据结构中的图来模拟。用图的结点代表景点,用
2、图的边代表景点之间的路径。所以首先应设计一个图类。结点值代表景点信息,边的权值代表景点间的距离。结点值及边的权值用顺序表存储,所以需要设计一个顺序表类。本系统需要查询景点信息和求一个景点到另一个景点的最短路径长度及路线,为方便操作,所以给每个景点一个代码,用结构体类型实现。计算路径长度和最短路线时可用弗洛伊德算法实现。最后用while选择语句选择执行浏览景点信息或查询最短路径。1、主界面设计输出每个景点2、 存储结构设计用类描述,封装顶点信息本系统采用图结构类型(mgraph)存储抽象校园图的信息。其中,各景点间的邻接关系用图邻接矩阵类型(adimatrix)存储;景点(顶点)信息用结构数组(
3、vexs)存储,其中每个数组元素是一个结构变量,包含景点编号、景点名称及景点介绍三个分量;图的顶点个数及边的条数由分量vexnum、arcnum表示,它们是整型数据。此外,本系统还设置了三个全局变量:visited数组用于存储顶点是否被访问标志;d数组用于存放边上的权值或存储查找路径顶点的编号;campus是一个结构的全局变量。3、系统功能设计学校景点介绍学校景点介绍由函数outputname();实现。当用户选择该功能,系统即能输出学校全部景点的信息:包括景点编号、景点名称查看浏览线路查看浏览线路由函数floyed()实现。当用户选择该功能,系统能根据用户输入的起始景点编号,求出从该景点到其
4、他景点的最短路径线路及距离。查询景点间最短路径查询景点间最短路径由函数floyed()实现。该功能采用弗洛伊德(Floyd) 算法实现。当用户选择该功能,系统能根据用户输入的起始景点及目的景点编号,查询任意两个景点之间的最短路径线路及距离。景点信息查询景点信息查询由函数outputname();实现。该功能根据用户输入的景点编号输出该景点的相关信息。更改图信息更改图的信息功能由主调函数void modify(graph g);及若干子函数完成,可以实现图的若干基本操作。如增加新的景点、删除边、重建图等。(6)输出邻接矩阵输出图的邻接矩阵,由函数void output_1();实现。退出即退出校
5、园导游系统,由按0函数实现。PS:算法见附件.cpp算法运用类class graph描述,对数据进行封装,用容器vector修改内容,但是一开始没有想到,后来就看没有时间就没有修改了,否则可以让算法更加灵活,把输出的矩阵放在文件中,可以防止cmd见面的繁杂。总体算法还是缺少最优性,限于时间,暂时于此了。操作结果如图:代码:/电六吴俊辉20121003736#include#include#include#include#includeusing namespace std;#define INFINITY 9999const int n=30;/顶点数const int e=51;/边数/#d
6、efine MAX 32767class graphprivate: int vexn; char*namen20; /景点名字 int arcnn; /景点距离 int pathnn; /记录路径 int Dnn; /记录两点间的最短路径public: void creat();/建立邻接矩阵 void output_1();/输出邻接矩阵 void floyed();/佛洛依德求最短路径 void Name();/景点命名 void output_2(int i,int j);/输出最短路径 void outputname();/输出景点 void detail(int m);/景点详细信
7、息 void modify(graph g);/修改顶点;void graph:Name () /给每个顶点命名int i;for(i=0;in;i+)namei20=NULL;name020=南苑栋 ;name120=风采园(三饭);name220=学生活动中心*中国银行;name320=水榭*又康超市;name420=师苑*数码港 ;name520=友苑 ;name620=博雅园(二饭);name720=文采园(一饭) ;name820=北苑栋 ;name920=后勤喽*保卫处;name1020=校医室 ;name1120=隧道口 ;name1220=中环广外公交站;name1320=教学
8、楼A栋 ;name1420=教学楼E、F栋 ;name1520=凤凰山坡 ;name1620=八角楼 ;name1720=校办公楼 ;name1820=院系办公楼 ;name1920=实验楼ABCDE ;name2020=语心湖 ;name2120=B8学术报告厅 ;name2220=艺术楼 ;name2320=大会堂 ;name2420=图书馆 ;name2520=操场 ;name2620=游泳池 ;name2720=网球场 ;name2820=体育馆 ;name2920=正校门 ;void graph:detail(int m) /每个景点的具体信息if(m30)cout没有此顶点endl
9、;return;coutnamem-120:;switch(m)case 1:cout信息男生宿舍,后面是内环,前面是法学院男生宿舍和经贸学院男生宿舍,与广中医广药中大宿舍相望,后面有大学城体育馆endl;break;case 2:cout老二饭,新三饭,饭菜比较难吃,懒得没办法时大家都会去那里吃,但是价格还好,二楼好贵,一楼家常endl;break;case 3:cout生活动中心楼下的中行里面的ATM可以无存折存款及用银行卡转账。各种学生活动会在此举行。好多人排队的,最好早上点取钱。endl;break;case 4:cout云山水榭,有点浪漫,在学活下面,有KTV,咖啡店,网吧,有点贵啊
10、!健身房,女生之家等超市,真的又坑,好贵啊,不过品种齐全!endl;break;case 5:cout主要居住老师。数码港主要销售一些跟电脑等有关的高科技产品。学生可以免费修电脑,当然,是不换硬件的时候。endl;break;case 6:cout主要居住学校的外来人员。招待所等。endl;break;case 7:cout第一层是大众饭堂,入口处有糖水供应。二楼则是套餐地带。晚上七点之后,这里还提供各式各样的宵夜。好多学生部门晚上来这里开会。endl;break;case 8:cout第一层以大众菜式为主。二楼除了大众菜式,还有一些炒饭,粉面等以及套餐,价钱在元-7元。环境较好,女生多。饭菜
11、也比较好吃。endl;break;case 9:cout女生宿舍楼,主要居住信息学院和艺术学院的女学生。楼下是创业园,不过很贵里面的东西!endl;break;case 10:cout组成巡逻队协助校方维护校园安全。安全问题可以去那里解决的。endl;break;case 11:cout位于保卫处旁边,目前本科生校内看病只需支付%的费用,可享受校外医疗报销。endl;break;case 12:cout是连接生活区与教学区的一个通道,是各种不同类型的活动的举办场所。endl;break;case 13:cout有多辆公车经过,是广外唯一的一个公交站。很便宜啊!endl;break;case 1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 三广外 校园 导游 系统 设计 实现
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2390658.html