文档介绍:淮海工学院计算机工程学院
课程设计报告
设计名称: 数据结构课程设计
选题名称: 连云港市景点导游咨询
姓名: 汪亮学号: 110913118
专业班级: 软件工程软件091
系(院): 计算机工程学院
设计时间: ~
设计地点: 软件工程实验室、教室
成绩:
指导教师评语:
签名:
年月日
1、训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题。
、系统设计、程序编码、测试等基本方法和技能;
;
,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的工作作风。
:
任务
根据教材《数据结构-C语言描述》(耿国华主编)和参考书《数据结构题集(C语言版)》(严蔚敏、吴伟民主编)选择课程设计题目,要求通过设计,在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解和综合运用。
设计题目从任务书所列选题表中选取,每班每题不得超过2人。
学生自选课题
学生原则上可以结合个人爱好自选课题,要求课题有一定的深度与难度,有一定的算法复杂性,能够巩固数据结构课程所学的知识。学生自选课题需在18周前报课程设计指导教师批准方可生效。
要求:
1、在处理每个题目时,要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过设计实现抽象数据类型、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的分析报告。前期准备工作完备与否直接影响到后序上机调试工作的效率。在程序设计阶段应尽量利用已有的标准函数,加大代码的重用率。
2、.设计的题目要求达到一定工作量(300行以上代码),并具有一定的深度和难度。
3、程序设计语言推荐使用C/C++,程序书写规范,源程序需加必要的注释;
4、每位同学需提交可独立运行的程序;
5 、每位同学需独立提交设计报告书(每人一份),要求编排格式统一、规范、内容充实,不少于10页(代码不算);
6、课程设计实践作为培养学生动手能力的一种手段,单独考核。
一需求分析
该程序所做的工作的是连云港市景点导游咨询,为游客提供三种最优决策咨询。此程序规定:
(1)在程序中输入一个具体景点名称,需要向游客展示出该景点的所有信息,包括景点名称、景点门票、景点简介等;
(2)程序员输入游客所在地,以及想前往的下一个景点,提供出最快到达的阻断路径;
(3)程序员输入游客所在地,以及想前往的另一个景点时,程序向用户提供所有路径。
二概要设计
:
(1)包含景点序号(num)、名称(name)、门票价格(money)、简介(introduce)等;
(2)定义无向网,实际情况每两个不相同的景点间均有权值;
:
(1)InsIntrest();
初始化景点数据记录,输入各景点主要信息;
(2)CreateUDG();
创建无向网储存景点名称及权值;
(3)Search();
主要用于查找并向游客展示该景点所有信息,即数据类型中定义的信息;
(4)ShortestPath_Floyd();
用Floyd算法查询两景点间最短路径;
(5)AllPath();
查找最短路径;
(6)Menu();
输出菜单;
(7)Main();
主函数;
:
(8)LocateVertex();
定位元素;
(9)InitList();
初始化顺序表L;
(10)AddTail();
尾插法插入顺序表;
(11)JoinList();
合并两顺序表。
(7)用(1)(3)(4)(5)(6);
(2)调用(8);
(4)调用(9)(10)(11);
三详细设计
//图的邻接矩阵表示法定义
#define MAX_VERTEX_NUM 景点最大个数
#define INFINITY 初始权值
#define AdjType 权值(景点间距离)
typedef 景点名格式(string) VertexData;
typedef struct ode
{
AdjType adj;
}ode;
typedef struct
{
VertexData vexs[MAX_VERTEX_NUM];
ode arcs[MAX_VERTEX_NUM][MAX_VERTEX_N