C++数据结构课程设计-校园导游咨询系统
数据结构(C++)课程设计
题 目: 校园导游咨询* 姓 名: 学 号: 院 系: 专业年级:
2014年7月8日
C++数据结构课程设计-校园导游咨询系统
目录
一、
设计题目.......................................................................................................... 2
二、 需求分析.......................................................................................................... 2
三、 概要设计.......................................................................................................... 6
四、 详细设计........................................................................................................ 11
五、 调试分析........................................................................................................ 14
六、 测试结果........................................................................................................ 14
七、 附录:程序设计源代码................................................................................ 21
C++数据结构课程设计-校园导游咨询系统
一、 设计题目
校园导游咨询*
二、 需求分析
1) 运行环境(软、硬件环境)
电脑型号 X64 兼容 台式电脑
处理器 英特尔 第二代酷睿 i5-2310 @ 2.90GHz 四核 主板 华硕 P8H61-M LX (英特尔 H61 芯片组) 内存 8 GB ( 威刚 DDR3 1333MHz )
主硬盘 西数 WDC WD10EALX-009BA0 ( 1 TB / 7200 转/分 ) 显卡 ATI Radeon HD 6700 Series ( 512 MB / ATI ) 显示器 SGW5600 PL2208HD ( 21.7 英寸 ) 光驱 华硕 DRW-24D1ST a DVD刻录机
声卡 瑞昱 ALC887 @ 英特尔 6 Series Chipset 高保真音频 网卡 瑞昱 RTL8168E PCI-E Gigabit Ethernet NIC / 华硕
操作系统:Windows 7 Ultimate (x86) sp1 编程环境:Microsoft Visual Studio 2012
2) 输入的形式和输入值的范围
3) 输出的形式描述
C++数据结构课程设计-校园导游咨询系统
4) 功能描述
以我校南汇校区部分景点、进行抽象化,生成了具有15个顶点、18条边的图,以邻接表与邻接矩阵复合形式储存在内存中,主要有以下功能:
a. b. c. d. e.
查询景点的信息,包括基本信息和拓展的周围节点信息;
景点导航,给出起点、终点,规划出最短路径和风景最佳路径; 修改景点,道路信息,包括添加景点、添加道路、修改景点功能; 开发人员工具,包括邻接表、邻接矩阵的查看DFS深度优先遍历、BFS广度优先遍历
显示地图,打开预制的地图文件查看
5) 测试数据
初始地图信息:
C++数据结构课程设计-校园导游咨询系统
距离邻接矩阵:
C++数据结构课程设计-校园导游咨询系统
《校园导游咨询*》设计报告
0
—5—
C++数据结构课程设计-校园导游咨询系统
三、 概要设计
1) 抽象数据类型定义描述
(对各类的成员及成员函数进行抽象描述,参见书或ppt及实验) Site类 Data: 编号Code 景点名称SiteName 景点介绍Introduction 景点X坐标
景点Y坐标 Operation: 构造函数
输入: 编号,名称,介绍,X坐标,Y坐标 前臵条件: 无
动作: 初始化Site类元素 输出: 无 后臵条件: 无 SetSite
输入: 编号,名称,介绍,X坐标,Y坐标 前臵条件: 无
动作: 赋值Site类元素 输出: 无 后臵条件: 无
ArcNode类 Data : 邻接点下标值Adjvx
指向下一个边结点的指针 *nextarc; 风景等级sceneLevel; 距离distance; Operation: 构造函数
输入: Adjvx, *nextarc, sceneLevel; 前臵条件: 无
动作: 初始化ArcNode类 输出: 无 后臵条件:无
C++数据结构课程设计-校园导游咨询系统
VertexNode类 Data : 节点内容vex
节点首指针*firstarc Operation: 无 Road类 Data : Site型节点1,节点2
距离Distance 风景等级
Bool型是否是机动车道carAviliable; Operation: SetRoad 构造函数
输入: 节点1,节点2,风景等级 前臵条件: 存在Site对象 动作: 初始化Road类 输出: 无 后臵条件:无
BGraph 类 Data :
邻接表adjlist[] Int 距离矩阵 Int 风景值矩阵 Operation: 构造函数 输入: 前臵条件: 动作: 输出:
后臵条件:无
addSite函数
输入:景点名称,景点信息,景点X坐标,景点Y坐标前臵条件:顶点表已建立
动作:添加邻接表顶点、修改邻接矩阵
C++数据结构课程设计-校园导游咨询系统
输出:无 后臵条件:无
addRoad函数
输入:景点1名称,景点2名称,风景等级 前臵条件:顶点表已建立
动作:添加邻接表的边表,修改邻接矩阵 输出:无 后臵条件:无
ShowInfo函数 输入: 无
前臵条件:函数已初始化 动作: 输出当前图信息 输出: 顶点数、边数 后臵条件:无
pGraph函数 输入: 无
前臵条件:函数已初始化 动作: 输出邻接表 输出: 邻接表 后臵条件:无
pMatrix 输入:无
前臵条件:函数已初始化 动作: 输出邻接矩阵 输出: 邻接矩阵 后臵条件:无
searchByName 输入:景点名称
前臵条件: 图已初始化 动作: 搜索符合名称的节点 …… 此处隐藏:2981字,全部文档内容请下载后查看。喜欢就下载吧 ……