C++校园导游系统是一款专为学生设计的应用程序,利用C++编程语言开发。该系统提供全面的校园导航、信息查询等功能,旨在帮助新生快速熟悉校园环境,提升学习和生活的便利性。
校园导游程序设计如下:
问题描述:使用无向网表示学校的校园景点平面图,在这个网络结构里每个顶点代表一个主要的景点,并且这些顶点存放着该景点的编号、名称及简介等信息;而边则表示了不同景点之间的道路,同时记录下了路径长度等详细数据。程序需要能够回答关于各景点介绍以及游览路线的相关问题。
游客可以通过终端提出以下询问:
(1)从一个特定的景点出发到达另一个指定的景点时的最佳路径。
(2)当游客进入公园后如何选择一条最佳线路进行参观。
(3)设计一种方案让游客可以不重复地浏览所有景点,并最终返回入口处(出口紧邻入口位置)。
基本要求:
(1)将导游图视作一张带有权重值的无向图,其中顶点代表各个景点的位置信息,边则表示了各景点间的连接道路,而每条边上的权值则是两个地点之间的距离。为此类数据结构选择合适的存储方式。
(2)展示给游客所有可能的路径选项,并让其自行挑选最满意的游览路线。
(3)在屏幕上绘制出整个校园内各个景点的位置分布图。
实现提示:
(1)构建一个无向图G并使用邻接矩阵进行存储管理;
(2)运用迪杰斯特拉算法来计算任意起始点到其他所有顶点之间的最短路径,这些信息将被记录在一个二维数组p[i][]中;同时一维数组d[]用于存放各个节点间的最小距离值。这里i的取值范围为0至20;
(3)利用一个名为have的一维布尔型数组来标记已访问过的所有顶点的位置顺序;
(4)根据给定的起始和目标位置输出最短路径及其长度信息。