校园导游系统实验报告
校园导游数据结构实训报告

一、引言随着信息技术的飞速发展,数据结构在计算机科学中的应用越来越广泛。
为了更好地理解和掌握数据结构的相关知识,我们开展了校园导游数据结构的实训项目。
本项目旨在通过设计一个校园导游系统,将数据结构的知识应用于实际场景,提高我们的编程能力和问题解决能力。
二、项目背景与目标1. 项目背景随着我国高等教育的快速发展,校园规模不断扩大,校园内景点繁多,对于新到校的学生或访客来说,了解校园景点和路线信息成为一个难题。
传统的校园导游方式,如人工导游,不仅效率低下,而且成本较高。
因此,设计一个校园导游系统,为访客提供便捷、高效的信息查询服务,具有重要的现实意义。
2. 项目目标本项目旨在设计并实现一个校园导游系统,实现以下功能:(1)展示校园平面图,以图形化的方式展示校园景点和路线信息。
(2)提供景点信息查询,包括景点名称、代号、简介等。
(3)提供路线查询,包括任意两个景点之间的最短路径、路径长度等。
(4)提供景点搜索,支持按名称或代号搜索景点信息。
三、系统设计1. 系统架构本项目采用分层架构,包括以下层次:(1)表示层:负责展示校园平面图和景点信息。
(2)业务逻辑层:负责处理用户请求,包括景点信息查询、路线查询等。
(3)数据访问层:负责与数据库进行交互,实现数据持久化。
2. 数据结构设计本项目采用以下数据结构:(1)图结构:用于表示校园平面图,其中顶点表示景点,边表示景点之间的路径。
(2)邻接矩阵:用于存储图结构中各景点之间的路径长度。
(3)链表:用于存储景点信息,包括景点名称、代号、简介等。
3. 算法设计本项目采用以下算法:(1)Dijkstra算法:用于求解任意两个景点之间的最短路径。
(2)BFS算法:用于实现景点搜索功能。
四、系统实现1. 界面设计系统界面采用简洁、美观的设计风格,主要包括以下部分:(1)校园平面图显示区域。
(2)景点信息显示区域。
(3)搜索框。
(4)功能按钮。
2. 功能实现(1)展示校园平面图:根据校园实际布局,绘制校园平面图,并将各景点以图形化的方式展示在界面上。
校园导游系统 实验报告

校园导游系统实验报告校园导游系统实验报告1. 引言在现代高校中,校园导游系统作为一种重要的信息化工具,被广泛应用于校园导览、活动推广等方面。
本实验旨在设计一个校园导游系统,通过实际操作和用户反馈,评估其功能和可用性。
2. 实验设计与方法2.1 系统设计本实验采用Web应用程序作为校园导游系统的开发平台,采用HTML、CSS、JavaScript等前端技术,以及PHP、MySQL等后端技术进行系统设计与开发。
2.2 实验对象实验对象为本校学生,共计50人。
实验过程中,将收集用户对系统功能、界面设计、易用性等方面的反馈。
2.3 实验步骤a) 系统功能测试:用户通过系统进行校园导览,测试系统的导航、搜索、展示等功能。
b) 界面设计评估:用户评估系统的界面设计是否美观、直观,并提出改进建议。
c) 易用性测试:用户完成一系列任务,评估系统的易用性和用户体验。
3. 实验结果与分析3.1 系统功能测试结果在系统功能测试中,用户普遍认为系统的导航功能准确、搜索功能便捷,展示内容详细且易于理解。
然而,部分用户反映系统在室内导航方面存在一定的不准确性。
3.2 界面设计评估结果用户对系统的界面设计普遍评价良好,认为界面美观、直观。
然而,少数用户认为系统的颜色搭配不够舒适,建议增加自定义主题功能。
3.3 易用性测试结果用户在易用性测试中完成任务的平均时间为10分钟,任务完成率达到90%以上。
用户普遍认为系统的操作流程清晰,易于上手。
然而,部分用户认为系统的某些功能按钮位置不够显眼,建议进行调整。
4. 结论与建议本实验设计的校园导游系统在功能、界面设计和易用性方面均获得了较好的评价。
然而,仍存在一些问题和改进空间。
针对室内导航不准确的问题,可以考虑引入更精确的定位技术。
针对界面设计的改进建议,可以增加自定义主题功能和调整按钮位置。
此外,还可以进一步完善系统的互动性,增加用户评论、分享等功能,提升用户参与度。
5. 实验总结通过本实验,我们深入了解了校园导游系统的设计与开发过程,并对其功能和可用性进行了评估。
校园导游系统数据结构实习报告

校园导游系统数据结构实习报告校园导游系统数据结构实习报告一、引言随着信息技术的快速发展,数字化校园已成为许多学校的重要建设目标。
其中,校园导游系统作为数字化校园的一部分,对于提高校园文化氛围,方便新生和游客游览校园,增强校园归属感起到了重要作用。
在这次实习中,我们的主要任务是设计和实现一个校园导游系统,采用数据结构技术对校园地图进行建模和优化,以提供高效、便捷的导游服务。
二、系统设计1、数据结构选择:考虑到校园地图的复杂性,我们采用了图(Graph)作为基础数据结构。
图是由节点(顶点)和边组成的集合,可以很好地表示校园中各个地点之间的连接关系。
2、地图表示:我们将校园地图转化为图,其中每个地点对应一个节点,地点之间的路径对应边。
为了更准确地表示实际环境,我们使用了带权重的边,权重表示路径的长度或美观度。
3、导游路径规划:我们使用了最短路径算法,如Dijkstra算法和A*算法,来规划最佳游览路径。
用户可以在系统中设定起点和终点,系统会根据图中的边和权重计算出最短路径。
4、语音导航:系统可以通过用户的手机实时获取位置信息,并使用TTS(Text-to-Speech)技术将规划的路径转化为语音提示,方便用户边听边走。
5、数据库设计:我们设计了一个关系型数据库,用于存储校园地图信息、用户信息等。
通过使用索引和查询优化技术,提高了系统性能。
三、系统实现1、环境配置:我们使用了Python语言和相关的数据结构库来实现系统。
开发环境为Windows 10操作系统,数据库采用了MySQL。
2、代码实现:我们对Python语言和相关库进行了深入学习,掌握了图算法的实现方法。
在实现过程中,我们遇到了一些问题,如最短路径算法的优化、语音导航的实时性等。
通过查阅资料、讨论和实践,我们成功解决了这些问题。
3、测试与调试:我们对系统进行了全面的测试,包括单元测试、集成测试和系统测试。
在测试过程中,我们发现并修复了一些bug,提高了系统的稳定性和可靠性。
校园导游 实验报告

校园导游实验报告本次实验的主要目的是通过校园导游的方式,向新生介绍学校的各项设施、重要地点以及校园文化等内容。
通过此次实验,我不仅对学校有了更深入的了解,还提高了自己的讲解和组织能力。
首先,我想谈一下在进行校园导游活动中我遇到的挑战。
首先是对学校内部各个重要地点的了解。
虽然我对学校有一定的了解,但是要详细介绍每个地点的历史、功能等,还是需要做一些调研工作。
因此,在准备过程中,我查阅了各种资料,包括学校官网、校史资料以及一些相关书籍等。
通过整理这些资料,我对学校的各个地点有了更深入的了解,也能够向游客们提供更全面准确的信息。
其次,为了使导游活动更生动有趣,我在导游的过程中融入了一些趣味性的小活动。
比如,在介绍图书馆时,我组织了一场小小的“脱口秀”,向大家分享了一些有趣的书籍故事。
在介绍体育馆时,我还组织了一个篮球投篮小游戏,让大家亲身体验一下体育馆的魅力。
通过这些小活动,我成功地吸引了大家的注意力,增加了参与感和乐趣,使整个导游活动更加生动有趣。
同时,在这次实验中,我也深刻意识到了导游的重要性。
一个好的导游不仅需要对所导游的地点有充分的了解,还需要具备一定的讲解和组织能力。
在导游的过程中,我不仅要把信息传达给游客,更要注意讲解的方式和语言的运用。
要确保讲解内容易于理解,简洁明了,同时还要做到声音洪亮、表情生动,以吸引游客的注意力。
此外,导游还要具备一定的组织能力,比如要合理安排行程,控制游客的时间,确保参观的顺利进行。
最后,通过本次实验,我对校园导游这一活动有了更深的理解。
校园导游不仅是向游客们介绍学校的各项设施,更是宣传学校的重要途径。
好的校园导游活动能够使游客对学校产生浓厚的兴趣,增加他们的认同感,并加深对学校文化的理解。
因此,校园导游不仅要做好信息的传递工作,还要注重游客的体验和参与感。
综上所述,通过本次实验,我对校园导游活动有了更深入的了解,并提高了自己的讲解和组织能力。
我相信通过这样的实践锻炼,我将能够更好地担任校园导游的角色,并将来为其他人提供更好的导游服务。
校园导游实验报告

一:设计目的1.进一步掌握图的存储,建立和遍历。
2.掌握弗洛伊德算法和迪杰斯特拉算法完成最短路径的有关问题。
3.文件的读写操作的练习与使用。
4.提供校园导游的实用地图。
二. 设计内容1.以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。
2.为来访客人提供图中任意景点相关信息的查询。
3.为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。
三.概要设计1.功能模块图2.各个模块详细的功能描述。
1.CreateGraph()---从文件中读出景点的信息,并创建无向图。
2.graph()---显示校园平面图,方便游客进行查询。
3.find()---查询任意景点的详细信息。
4.BrowsePath()---迪杰斯特拉算法,用于实现目前所在点到任意一景点的最短路径。
5.ShortestPath()---弗洛伊德算法,用于实现任意两景点间最短路径。
6.main_menu(),secord_menu()---用于实现菜单的显示并接受输入选择。
显示地图及 主菜单任一景点信息的查询任意两点之间的最短路径从某一点到其余任一点的最短路径四.详细设计1.功能函数的调用关系图2.各功能函数的数据流程图main 函数CreateGraph()main_me nu()函数find()函数graph()函数ShortestPath()BrowsePath()secord_menu()函数文件中3.重点设计及编码<1>.查询功能的实现。
while(ch<0||ch>=G .vexnum) { printf("\n\t 你所输入的景点编号不存在!\n"); printf("请重新输入:"); scanf("%d",&ch); } for(i=0;i<G .vexnum;i++) { if(i==ch) printf("\n %s %s",G .vexs[i].name,G .vexs[i].introduction); } printf("\n\n 是否继续查询(Y/N)"); getchar();<2>.从文件中读取信息并储存到图的结构体数组中。
校园导游社会实践报告(3篇)

校园导游社会实践报告(3篇)校园导游社会实践报告(精选3篇)校园导游社会实践报告篇120__年暑假期间,在校团委的号召下,为进步本人各方面的才能,加深本人对社会的理解,我参与了暑假兼职导游培训社会理论活动(20__年8月1日——20__年8月15日)。
为期15天的理论中,导游中心经理逐日开端对我讲授导游事务、导游法律法规、中国旅游天文、导游事故处置等根本的导游技艺以控制必要的旅游常识;同时,我还控制了著名景区景点的导游材料。
培训完毕后,经理还组织我跟随游览团亲身体验导游的工作。
导游工作不只是一门技术,同样也是一门艺术。
身为导游应具备以下根本的职业素质:1.效劳第一的准绳导游工作是一项效劳工作。
要想取得旅游者真诚的赞誉,就必需努力探求效劳,树立效劳第一的认识,把为旅游者效劳看成是本人荣耀和重要的职责,这是导游员效劳工作的根本请求,也是权衡导游员效劳态度和效劳质量的重要尺度和规范。
2.待人诚恳,擅长沟通顾客是旅游企业的衣食父母,要使企业在日益竞争剧烈的旅游市场上立于不败之地导游员就必需诚恳待客,向游客提供真诚的效劳。
但是,与游客深化地交流与沟通则可树立导游者与旅游者的良好关系,发明友好氛围。
3.有热情、有自信心其实,不论在哪个行业,热情和自信心都是不可或缺的。
热情让我们对工作充溢激情,愿意为共同的目的斗争;耐烦又让我们细致的看待工作,力图做好每个细节,锦上添花。
激情与耐烦互补促进,才干碰撞出最美丽的火花,工作才干做到最好。
同时,在理论中,我也发现了旅游业一些方面的问题,对这些问题的考虑和合了解决,对促进我国导游队伍建立,大有稗益。
一、导游员工作方式的`不合理化目前,在导游工作中,"背书"的硬举措依然普遍存在,即请求导游员背诵指定目导游词,并在年底停止抽查。
这些办法和措施,固然能暂时有效地进步导游员的业务程度,很大水平上根绝乱导乱讲现象发作,但并不能从基本上处理问题,也不是持久之计。
校园导游咨询实验报告

本实验旨在通过设计并实现一个校园导游咨询系统,提高学生对数据结构在实际问题中的应用能力,培养编程实践能力和问题解决能力。
通过本次实验,学生能够深入了解图论在计算机科学中的应用,学会使用图论算法解决实际问题,并掌握Java编程语言在图形用户界面(GUI)设计中的应用。
二、实验内容1. 问题描述设计一个校园导游咨询系统,为来访客人提供以下服务:- 查询校园内景点的详细信息,包括名称、代号、简介等。
- 查询任意两个景点之间的最短路径。
- 提供从指定景点出发,游览所有景点的推荐路径。
2. 基本要求- 设计校园平面图,包含不少于10个景点。
- 以图中顶点表示校内各景点,存储景点名称、代号、简介等信息。
- 以边表示路径,存储路径长度等相关信息。
- 实现景点信息查询、景点间最短路径查询和推荐游览路径查询功能。
3. 数据结构- 采用邻接矩阵存储校园平面图,表示景点间的路径关系。
- 使用前趋结点数组辅助Floyd算法实现最短路径查询。
4. 算法- 使用Floyd算法计算任意两个景点之间的最短路径。
- 使用DFS算法结合贪心思想计算推荐游览路径。
5. 界面设计- 使用Java Swing实现图形用户界面,方便用户进行操作。
1. 需求分析- 与用户沟通,了解用户对校园导游咨询系统的需求。
- 确定系统功能,包括景点信息查询、景点间最短路径查询和推荐游览路径查询。
2. 系统设计- 设计系统架构,包括数据结构、算法和界面设计。
- 确定数据存储方式和算法实现方法。
3. 编码实现- 使用Java编程语言实现系统功能。
- 实现数据结构、算法和界面设计。
4. 测试与调试- 编写测试用例,验证系统功能。
- 调试系统,修复发现的问题。
四、实验结果1. 景点信息查询- 用户可以输入景点代号,查询景点详细信息,包括名称、代号、简介等。
2. 景点间最短路径查询- 用户可以输入两个景点的代号,查询它们之间的最短路径。
3. 推荐游览路径查询- 用户可以输入起始景点的代号,查询从该景点出发,游览所有景点的推荐路径。
校园导游系统实验报告

竭诚为您提供优质文档/双击可除校园导游系统实验报告篇一:校园导游图系统数据结构实验报告一.设计目的通过布置具有一定难度的实际程序设计项目,使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法;使学生掌握分析问题,求解问题的方法并提高学生设计编程实现的能力。
二.设计内容用无向网表示学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。
要求能够回答有关景点介绍、游览路径等问题。
游客通过终端可询问:(1)从某一景点到另一景点的最短路径。
(2)游客从公园进入,选取一条最佳路线。
(3)使游客可以不重复地浏览各景点,最后回到出口(出口就在入口旁边)。
[基本要求](1)将导游图看作一张带权无向图,顶点表示公园的各个景点,边表示各景点之间的道路,边上的权值表示距离.为此图选择适当的数据结构。
(2)把各种路径都显示给游客,由游客自己选择浏览路线。
(3)画出景点分布图于屏幕上。
[实现提示] (1)构造一个无向图g并用邻接矩阵来存储。
(2)利用迪杰斯特拉算法来计算出起点到各个顶点之间的最短路径用二维数组p[i][]来记录,最短路径长度就用一维数组d[i]存放;i的范围:0~20。
(3)一维数组have[]是用来记录最短路径出现顶点的顺序。
(4)根据起点和终点输出最短路径和路径长度。
三.概要设计1.功能模块图;2.各个模块详细的功能描述。
1.浏览校园全景:采用深度遍历遍历图进行所有景点浏览,将遍历景点信息输出2.查看所有游览路线:用户输入一个景点,采用迪杰斯特拉算法将从该景点起所有路径查出并输出在屏幕上3.选择出发点和目的地:用户输入一个出发点和一个目的地编号,采用弗洛伊德算法求出发点到目的地的最短路径4.查看景点信息:直接用编号进行单个景点查询。
四.详细设计重点设计及编码在求最短路径时采用迪杰斯特拉算法//迪杰斯特拉算法来计算出起点到各个顶点之间的最短路径,v0为起点voidshortestpath_DIJ(mgraph*g) {//迪杰斯特拉算法,求从顶点v0到其余顶点的最短路经及其带权长度d[v]//若p[v][w]为1,则w是从v0到v的最短路经上的顶点//final[v]类型用于设置访问标志intv,w,i,min,final[20],D[20],p[20][20],t=0,x,flag=1 ,v0;//vo为起始景点的编号while(flag){printf("请输入一个起始景点编号:");scanf("%d",if(v0g->vexnum){printf("景点编号不存在!请重新输入景点编号:");scanf("%d",}if(v0>=0}for(v=0;vvexnum;v++){fin al[v]=0;//初始化各顶点访问标志D[v]=g->arcs[v0][v].adj;//v0到各顶点v的权值赋值给d[v]for(w=0;wvexnum;w++)//初始化p[][]数组,各顶点间的路径全部设置为空路径0p[v][w]=0;if(D[v]final[v0]=1;//v0的访问标志设为1,v属于s集for(i=1;ivexnum;i++)//对其余g.vexnum-1个顶点w,依次求v到w的最短路径{min=InFInITY;for(w=0;wvexnum;w++)//在未被访问的顶点中,查找与v0最近的顶点vif(!final[w])if(D[w]vexnum;w++)//修改v0到其余各顶点w的最短路径权值d[w]if(!final[w]//修改v0到w的权值d[w]for(x=0;xvexnum;x++)//所有v0到v的最短路径上的顶点x,都是v0到w的最短路径上的顶点p[w][x]=p[v][x];p[w][w]=1;}}for(v=0;vvexnum;v++)//输出v0到其它顶点v的最短路径{if(v0!=v)printf("%s",g->vexs[v0].name);//输出景点v0的景点名for(w=0;wvexnum;w++)//对图中每个顶点w,试探w是否是v0到v的最短路径上的顶点{if(p[v][w]t++;}if(t>g->vexnum-1}}五.测试数据及运行结果1.正常测试数据和运行结果1.浏览校园全部景点信息:2.查看景点信息:3.输出两个景点间的最短路径:2.异常测试数据及运行结果1.当输出错误编号时程序没有反映,继续输入直到输入正确:2.当查询两景点编号相同时的最短路径时,结果如下:篇二:校园导游实验报告[1]校园导游实验报告学号:20XX30457018姓名:熊博班级:09计科1班完成日期:20XX-12-211、问题描述制作陶瓷学院的校园导游图,游客通过终端可询问:(1)从某一景点到另一景点的最短路径。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
竭诚为您提供优质文档/双击可除校园导游系统实验报告
篇一:校园导游图系统数据结构实验报告
一.设计目的
通过布置具有一定难度的实际程序设计项目,使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法;使学生掌握分析问题,求解问题的方法并提高学生设计编程实现的能力。
二.设计内容
用无向网表示学校的校园景点平面图,图中顶点表示主要景点,
存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。
要求能够回答有关景点介绍、游览路径等问题。
游客通过终端可询问:(1)从某一景点到另一景点的最短路径。
(2)游客从公园进入,选取一
条最佳路线。
(3)使游客可以不重复地浏览各景点,最后回到出口(出口就在入口旁边)。
[基本要求]
(1)将导游图看作一张带权无向图,顶点表示公园的各个景点,边表示各景点之间的道路,
边上的权值表示距离.为此图选择适当的数据结构。
(2)把各种路径都显示给游客,由游客自己选择浏览路线。
(3)画出景点分布图于屏幕上。
[实现提示] (1)构造一个无向图g并用邻接矩阵来存储。
(2)利用迪杰斯特拉算法来计算出起点到各个顶点之间的最短路径用二维数组p[i][]来记录,
最短路径长度就用一维数组d[i]存放;i的范围:0~20。
(3)一维数组have[]是用来记录最短路径出现顶点的顺序。
(4)根据起点和终点输出最短路径和路径长度。
三.概要设计
1.功能模块图;
2.各个模块详细的功能描述。
1.浏览校园全景:采用深度遍历遍历图进行所有景点浏览,将遍历景点信息输出
2.查看所有游览路线:用户输入一个景点,采用迪杰斯特拉算法将从该景点起所有路径查出并输出在屏幕上
3.选择出发点和目的地:用户输入一个出发点和一个目的地编号,采用弗洛伊德算法求出发点到目的地的最短路径
4.查看景点信息:直接用编号进行单个景点查询。
四.详细设计重点设计及编码
在求最短路径时采用迪杰斯特拉算法
//迪杰斯特拉算法来计算出起点到各个顶点之间的最短路径,v0为起点voidshortestpath_DIJ(mgraph*g) {//迪杰斯特拉算法,求从顶点v0到其余顶点的最短路经及其带权长度d[v]//若p[v][w]为1,则w是从v0到v的最短路经上的顶点//final[v]类型用于设置访问标志
intv,w,i,min,final[20],D[20],p[20][20],t=0,x,flag=1 ,v0;//vo为起始景点的编号while(flag){printf("请输入一个起始景点编
号:");scanf("%d",if(v0g->vexnum){printf("景点编号不存在!请重新输入景点编
号:");scanf("%d",}if(v0>=0}for(v=0;vvexnum;v++){fin al[v]=0;//初始化各顶点访问标志
D[v]=g->arcs[v0][v].adj;//v0到各顶点v的权值赋值给d[v]for(w=0;wvexnum;w++)//初始化p[][]数组,各顶点间的路径全部设置为空路径0p[v][w]=0;if(D[v]
final[v0]=1;//v0的访问标志设为1,v属于s集
for(i=1;ivexnum;i++)//对其余g.vexnum-1个顶点w,依次
求v到w的最短路径
{min=InFInITY;for(w=0;wvexnum;w++)//在未被访问的顶
点中,查找与v0最近的顶点
vif(!final[w])if(D[w]vexnum;w++)//修改v0到其余各顶点w的最短路径权值d[w]if(!final[w]//修改v0到w的权值d[w]for(x=0;xvexnum;x++)//所有v0到v的最短路径上的顶点x,都是v0到w的最短路径上的顶点
p[w][x]=p[v][x];p[w][w]=1;}}for(v=0;vvexnum;v++)//
输出v0到其它顶点v的最短路径
{if(v0!=v)printf("%s",g->vexs[v0].name);//输出景点
v0的景点名for(w=0;wvexnum;w++)//对图中每个顶点w,试探w是否是v0到v的最短路径上的顶点
{if(p[v][w]t++;}if(t>g->vexnum-1}}
五.测试数据及运行结果1.正常测试数据和运行结果
1.浏览校园全部景点信息:
2.查看景点信息:
3.输出两个景点间的最短路径
:
2.异常测试数据及运行结果
1.当输出错误编号时程序没有反映,继续输入直到输入正确:
2.当查询两景点编号相同时的最短路径时,结果如下:
篇二:校园导游实验报告[1]
校园导游实验报告
学号:20XX30457018
姓名:熊博
班级:09计科1班
完成日期:20XX-12-21
1、问题描述
制作陶瓷学院的校园导游图,游客通过终端可询问:
(1)从某一景点到另一景点的最短路径。
(2)游客从公园进入,选取一条最佳路线3,使游客可以不重复地游览各景点,最后回到出口(出口就在入口处旁边)
2、要求
(1)将导游图看作一张带权无向图,顶点表示公园的各个景点,边表示各景点之间的道路,边上的权值表示距离。
为此图选择适当的数据结构。
(2)把各种路径都显示给游客,由游客自己选择游览路线。
(3)画出景点分布图于屏幕上。
3、实现提示
(1)第一实际是最短路径问题,如果有几条路径长度相同,可选择途径景点较少的路径提供给游客。
(2)第二问可采用深度优先搜索,如果有多种路径可选择,则选择带权路径最小的路线提供给游客。
2.概要设计:
typedefstructArcell
{
intadj;//路径长度
}Arcell,Adjmatrix[mAx_VeRTex_num][mAx_VeRTex_nu m];
typedefstruct//图中顶点表示主要景点,存放景点的信息
{
charname[30];
intnum;
intx;
inty;
charintroduction[500];//简介
}infotype;
typedefstruct
{
infotypevexs[mAx_VeRTex_num];
Adjmatrixarcs;
intvexnum,arcnum;
}mgraph;
mgraphb;
voiddij(mgraph*);计算出起点到其他各个顶点之间的最短路径
voidfloyd(mgraph*);计算任意两个景点之间的最短路径
voidsearch(mgraph*g);查看景点信息
voidjdbrowser();查看主要景点布局图
3.详细设计:
main函数:
voidmain()
{
intk;
system("colorcf");
system("modecon:cols=140lines=130");
b=Initgraph();
system("cls");
printf("欢迎您进入景德镇陶瓷学院学校园导游咨询系统\n");
printf("\t\t\n");
sleep(1000);
do
{
while(1)
{
printf("\n");
printf("主要景点列表\n"); printf("\n");
printf("操场游
泳馆\n");
printf("3教体
育馆\n");
printf("2教1教\n"); printf("图书馆2实
验楼\n");
printf("9实验楼医
院\n");
printf("东西办9#
宿舍楼\n");
printf("综合食堂二
三食堂\n");
printf("80广场大
门\n");
printf("\n");。