数据结构课程设计校园导游咨询_毕业论文
学 号
武 汉 科 技 大 学 城 市 学 院
课 程 设 计 报 告
课程名称 数据结构课程设计
题 目
校园导游咨询
学 部
专 业
班 级
姓 名
指导教师
2016
年
6
月
12
日
数据结构课程设计任务书
课程设计名称:校园导游咨询
课程设计开发平台与工具:Microsoft Visual C++ 6.0
1.课程设计任务
设计学校的校园平面图,所含景点不少于10个。以图中顶点表示学校各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。 为来访客人提供图中任意景点相关信息的查询。
2.课程设计功能说明
(1)输入数据:景点个数,景点信息结构(包含名称、代号、简介等信息)
(2)输入约束:景点个数为整形;校园景点平面图用图的形式存储;
(3)实现以下功能:
a) 查询校园地图;
b) 查询单个景点的相关信息如名称或简介等;
c) 查询从某个景点到其他所有景点最短路径长度即最短距离和途中要经历的景点;
d) 查询学校里任意两个景点之间的最短距离和途经点。
3. 设计内容及步骤
(1)分析问题,给出数学模型,设计相应的数据结构。
a) 分析问题的特点,用数学表达式或其它形式描述其数学模型。
b) 选择能够体现问题本身特点的逻辑结构。
c) 在逻辑结构确定的情况下,为算法的设计选择相应的存储结构,顺序存储结构和链式存储结构的不同存储方式,其对应的算法也不同。
(2)在已经选择好数据结构的前提下,为解决的问题设计算法。
a) 确定所需要的模块
b) 对于稍复杂的问题,要充分利用模块化程序设计方法,自顶向下,逐步细化,在整体思路确定的情况下,考虑所需模块数,各模块完成功能以及模块之间的数据联系和调用关系。
c) 各子模块功能描述:给出主要模块的算法描述,用流程图或伪代码表示。
d) 模块之间的调用关系:给出算法各模块之间的关系图示。
(3) 编写程序
为了提高工作效率,要求学生充分利用上机调试程序的时间。
(4)用测试数据去验证算法及程序的正确性
(5)算法分析:分析算法的时间复杂度和空间复杂度。
目 录
一 需求分析2
二 概要设计4
三 详细设计5
四 测试分析6
五 小结6
参考文献7
课设计评分表8
1 需求分析
1.1需求分析
来访我校的游客可能刚到学校不了解学校里的景点,为了给游客提供一条最短的游览路径,结合对校园平面图的分析,将其转化为数据并保存在系统中,使顾客可以找到游玩景点最省市,最高效的路径。
1.2功能需求描述
<1>设计学校的校园平面图,所含景点10个。
<2>为来访的客人提供图中任意景点相关信息的查询。
<3>为来访客人提供任意景点的问路查询。即查询任意两个景点之间的一个最短的简单路径,并提示出个经典之间的防卫关系,行走方向。
2 概要设计
2.1抽象数据类型定义
#include
#include
/*定义符号常量*/
#define INT_MAX 10000
#define n 10
/*定义全局变量*/
int cost[n][n];/* 边的值*/
int shortest[n][n];/* 两点间的最短距离*/
int path[n][n];/* 经过的景点*/
2.2模块结构
图2.2 模块图
2.3函数的详细调用处理流程
当游客选择了要查找景点的信息的介绍这一项功能的时候,程序就会调用DisIntroduction(G);函数进入到查找景点的介绍的界面,当游客输入了需要查找的景点的名称的时候,程序利用for();循环语句来查找是否有这个景点
for(int?i=0;i
?{??
?int?m?=?strcmp(G.vexs[i].name,n1);?
??if(m==0)??
?{??
??v1=i;?
???count1=count1+1;?
?}
}
找到将