1 / 16
文档名称:

(企业管理咨询)校园导游咨询.pdf

格式:pdf   大小:426KB   页数:16页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

(企业管理咨询)校园导游咨询.pdf

上传人:学习好资料 2021/12/16 文件大小:426 KB

下载得到文件列表

(企业管理咨询)校园导游咨询.pdf

相关文档

文档介绍

文档介绍:(企业管理咨询)校园导
游咨询
目录
一、课程目的
二、基本要求
三、实验内容及步骤
1、概要设计
2、详细设计
(1)建立模型(逻辑结构)
(2)建立模块之间的关系(存储结构)
(3)算法
四、源程序清单
五、测试结果
六、课程设计总结及心得体会
实验题目:校园导游咨询
一、课程目的
为用户提供路径咨询和景点查询,根据用户指定的始点和终点输出相
应路径或者根据用户指定的景点输出景点的信息。
二、基本要求
(1)设计校园平面图,在校园景点选 10 个左右景点。以图中顶点表
示校园内各景点,存放景点名称、代号、简介等信息;以边表示路径,
存放路径长度等有关信息。
(2)为来访客人提供图中任意景点相关信息的查询。
(3)为来访客人提供任意景点的问路查询,即查询任意两个景点之
间的一条最短路径。
附加要求:a、界面友好,函数功能要划分好
b、总体设计应画一流程图
c、程序要加必要的注释
d、要提供程序测试方案
三、实验内容及步骤
1、概要设计:
在设计这个校园导游系统前考虑到整个信息的结点和操作,可以通过
邻接矩阵借助图的相关知识来完成。
按照要求分为三个模块,图的信息的初始化,图各个景点信息的
查询和景点间的最短路径查询功能
voidintroduce()//用来查询各景点的相关信息
intshortestdistance()//用来查询任意两个景点之间的最短路径和
经过的景点
voidfloyed()//用来计算任意两个景点之间的最短路径
voiddisplay(inti,intj)//用来显示任意景点之间的最短路径和经
过的景点
/*包含头文件*/
#include<string>
/*定义符号常量*/
#defineINT_MAX10000
#definen10
/*定义全局变量*/
intcost[n][n];/*边的值*/
intshortest[n][n];/*两点间的最短距离*/
intpath[n][n];/*经过的景点*/
2、详细设计:
(1)建立模型(逻辑结构:图)
Commented [微软中国 1]: 湖北师范学院简要校园景
(2)建立模块之间的关系(存储结构:邻接矩阵) 点指示图
(3)算法
这个程序的关键代码就利用 Floyd 算法求最短路径并将路径存
放起来。
Floyd 算法的算法思想:设矩阵 cost 用来存放带权无向图 G 的权值,
即矩阵元素 cost[i][j]中存放着序号为 i 的结点到序号为 j 的结点
之间的权值,可以通过递推构造一个矩阵序列 A0,A1,A2,…,AN
来求每对结点之间的最短路径。其中,Ak[i][j]表示从结点 Vi 到结
点 Vj 的路径上所经过的结点序号不大于 k 的最短路径长度。初始时
有 A0[i][j]=cost[i][j]。当已经求出 Ak,要递推求解 Ak+1 时,可
分为两种情况来考虑:一种清楚是该结点序号为 k+1 的结点,此时该
路径长度与从结点 Vi 到结点 Vj 的路径上所经过的结点序号不大于 k
的最短路径长度相同;另一种情况是该路径经过结点序号k+1的结点,
此时该路径可分为两段,一段是从结点 Vi 到结点 Vk+1 的最短路径,
另一段是从结点 Vk+1 到结点 Vj 的最短路径,此时的最短路径长度等
于这两段最短路径长度之和。这两种情况的路径长度较小者,就是要
求的从结点 Vi 到结点 Vj 的路径上所经过的结点序号不大于 k+1 的最
短路径长度。
Floyd 具体算法设计
voidfloyed()
{
inti,j,k;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
shortest[i][j]=cost[i][j];
path[i][j]=0;
}
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)