【C++数据结构_大作业课程设计(校园导游咨询)】是针对C++编程和数据结构的一次课程设计,旨在让学生运用所学知识构建一个实用的校园导游咨询系统。这个系统能够提供校园景点的信息查询以及路径规划服务。下面将详细阐述这个系统的设计要点。 系统设计的核心在于数据结构的选择和类的定义。在这个项目中,使用了无向图的邻接矩阵来表示校园的景点和路径。具体地,定义了一个名为`MGraph`的模板类,用于存储和操作图的相关信息。类中包含`VertexNode`头结点类,用于存储顶点(即景点)的相关信息,如顶点名称、代号、简介等。同时,`direction`类用于存放每个景点的方位信息,包括横坐标(表示东西)和纵坐标(表示南北)。 系统的基本要求包括: 1. 设计校园平面图,至少包含10个景点,每个景点由顶点表示,并存储景点名称、代号、简介等信息。 2. 实现功能,让访客可以查询任何景点的信息。 3. 提供路径查询功能,计算并展示任意两个景点之间的最短简单路径。 选作内容扩展了路径查询,不仅提供最短路径,还增加了路径的详细导向信息,如方向和距离。 在实现上,`MGraph`类提供了多个成员函数,例如: - `printvexname()`:打印所有景点及其代号。 - `printvexinf(int i)`:打印指定代号景点的名称和信息。 - `printroad(int i, int j)`:展示景点i到j的最短路径方案。 - `printdir(int i, int j)`:提供从景点i到j的详细导向信息,如“向东100m,向南200m”。 - `Root(int p, int q)`:递归寻找p到q的最短路径。 - `Path`和`Dist`数组:分别存储最短路径的前驱节点和最短路径长度。 - `Line`数组:用于记录路径。 在构造函数中,通过传入的参数初始化图的顶点和边,以及邻接矩阵信息。此外,`arc`数组用于存放边的信息,`vertexNum`和`arcNum`分别表示顶点数量和边的数量。 这个课程设计要求学生运用C++编程和数据结构的知识,实现一个具备实际应用价值的校园导游系统。它锻炼了学生在实际问题中抽象数据结构、设计类和算法的能力,同时也强调了代码的可读性和维护性。
剩余23页未读,继续阅读
- qq_289916572015-06-17还行吧 能用
- 粉丝: 0
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助