没有合适的资源?快使用搜索试试~ 我知道了~
数据结构课程设计实验报告《校园导游咨询系统》内含程.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 22 浏览量
2022-07-12
18:10:54
上传
评论 1
收藏 2.79MB DOCX 举报
温馨提示
试读
25页
数据结构课程设计实验报告《校园导游咨询系统》内含程.docx数据结构课程设计实验报告《校园导游咨询系统》内含程.docx数据结构课程设计实验报告《校园导游咨询系统》内含程.docx数据结构课程设计实验报告《校园导游咨询系统》内含程.docx数据结构课程设计实验报告《校园导游咨询系统》内含程.docx数据结构课程设计实验报告《校园导游咨询系统》内含程.docx数据结构课程设计实验报告《校园导游咨询系统》内含程.docx数据结构课程设计实验报告《校园导游咨询系统》内含程.docx数据结构课程设计实验报告《校园导游咨询系统》内含程.docx
资源推荐
资源详情
资源评论
上海电力学院
数据结构 C++课程设计
题
目:
校园导游咨询
学生姓名:
学
院
号:
系:
专业年级:
2011 年 7 月 1 日
一、设计题目
校园导游咨询;
1、 实验目的
(1) 熟练掌握图的创建及遍历基本操作算法。
(2) 熟练掌握最短路径算法。
(3) 利用图的遍历和最短路径求解技术,设计一个校园导游程序,为来访的客人提供各种信息查询服
务。
2、 实验内容
【问题描述】
设计一个校园导游程序,为来访的客人提供各种信息查询服务。
【基本要求】
(1)设计你所在学校的校园平面图,所含景点不少于 10 个。以图中顶点表示校内各景点,存放景点名
称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。
(2)为来访客人提供图中任意景点相关信息的查询。
(3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一个最短的简单路径。
【测试数据】
由读者根据实际情况指定。
【实现提示】
一般情况下,校园的道路是双向通行的,可设校园平面图是一个无向网。顶点和边均含有相关信息。
【选作内容】
(6)扩充每个景点的邻接景点的方向等信息,使得路径查询结果能提供详尽的导向信息。
二、小组成员分工说明
略
三、需求分析
1)运行环境(软、硬件环境)
硬件环境:windows2000、windows XP、windows7 皆可;
软件环境:Microsoft (R) Developer Studio (2)
2)输入的形式和输入值的范围
输入形式:整形数据(景点代号、路径长度、地图上的方位信息),字符串(景点名称及简介);
输入值范围:
景点代号为:整形 0~17(共 18 个景点)
路径长度为:整形 1~10(两景点间距离,以近似 1::100m 比例换算,最远 1km)
景点名称字符串长度:整形 1~15(景点名称)
字符串长度为:字符数组 1~50(对景点进行简要介绍)
景点在地图方位图上的位置:整形 0~10
3)输出的形式描述
景点代号、景点名称、信息的关联以 cout 形式输出,告知来访客人,以便查询;
景点信息查询结果的输出形式为 cout 字符串;
两景点间最短路径输出形式为 cout 字符串 符号、以及嵌套的 printroad()函数以显示路径信息及方位
信息,方便客人获取最佳路线;
4)功能描述
(1)设计学校的校园平面图,所含景点18 个。以图中顶点表示校内各景点,存放景点名称、代号、简介等
信息;以边表示路径,存放路径长度等相关信息。
(2)为来访客人提供图中任意景点相关信息的查询。
(3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一个最短的简单路径,并提示
出各景点之间的方位关系,行走方向。
5)测试数据
输入功能选择号码,进入各项功能界面;根据功能界面的提示输入所要查询的内容:如,在查询景点功能
界面需要根据提示输入所需查询的景点代号;在问路查询功能界面需要根据提示输入起点终点的景点代
号。
四、概要设计
1)抽象数据类型定义描述
(对各类的成员及成员函数进行抽象描述,参见书或 ppt 及实验)
#include<iostream>
int ln;//存放在方向图中的横坐标,表示东西
int col;//存放在方向图中的纵坐标,表示南北
using namespace std;
const int MaxSize=18;
};
const int INFINITY=65535;//最大值无穷
template <class T>
class direction;
class MGraph//定义无向图的邻接矩阵
{
template <class T> class MGraph;
template <class T>
public:
class VertexNode//定义景点结点,存储景点信息
{
MGraph();
//构造函数,初始化具有 n 个顶点的图
void printvexname();//显示所有景点及景点代
号
friend class MGraph<T>;
public:
int vex;//景点名称
void printvexinf(int i);//显示代号为 i 景点
的名称及信息
T vexname;//景点名称
T vexinf;//景点信息
direction dir;// 存 放 景 点 方 位 信 息 的
direction 类的 dir。
};
void printroad(int i,int j);//显示景点 i~j
的最短路径方案信息
void printdir(int i,int j);//显示景点 i 到 j
的方向信息,如“向东 100m,向南 200m”
VertexNode<T> adjlist[MaxSize]; //存放景点
全部信息的 景点类数组
class direction
{
int vertexNum,arcNum; //图的顶点数和边数
void Root(int p,int q);//递归寻找 pq 间的最
public:
短路径
int Path[MaxSize][MaxSize],Dist[MaxSize][MaxSize];// 创建 Path 和 Dist 分别存放两点间最短路径的
前驱节点,两点间最短路径长度
int Line[MaxSize];//Line 存放路径
int kkk;//在 floyed 算法中,做 Line[]数组的标记
private:
T vertex[MaxSize]; //存放图中顶点的数组
int arc[MaxSize][MaxSize];//存放图中边的数组
};
2)功能模块设计(如主程序模块设计)
int funcchoice()//系统功能选择页面
{
int choice;
cout<<"=============================================================="<<endl;
cout<<"
cout<<"
cout<<"
cout<<"
cout<<"
欢迎进入校园导游咨询平台"<<endl;
1--显示校园所有景点信息"<<endl;
2--查询校园景点信息"<<endl;
3--问路查询系统"<<endl;
4--退出导游资讯平台"<<endl;
cout<<"=============================================================="<<endl;
cout<<"请输入要选择的功能号:";
cin>>choice;
return choice;
}
3)模块层次调用关系图
剩余24页未读,继续阅读
资源评论
- 开飞机赶猪2022-09-10果断支持这个资源,资源解决了当前遇到的问题,给了新的灵感,感谢分享~
xxpr_ybgg
- 粉丝: 6441
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功