好文档 - 专业文书写作范文服务资料分享网站

数据结构试验报告--校园导游

天下 分享 时间: 加入收藏 我要投稿 点赞

. . . .

《数据结构》 课程设计报告

课程名称:《数据结构课程设计》; 课程设计题目:校园导游查询;

:晓艺; 院系:计算机学院; 专业:数字媒体技术;

年级:大二; 学号:10054220; 指导教师:王立波; 2011年12月17日

1 课程设计的目的………………………………………………………………x 2 需求分析………………………………………………………………………x 3 课程设计报告容……………………………………………………………x 1、概要设计……………………………………………………………………x 2、详细设计……………………………………………………………………x 3、调试分析……………………………………………………………………x 4、用户手册……………………………………………………………………x 5、测试结果……………………………………………………………………x 6、程序清单……………………………………………………………………x 4 小结 …………………………………………………………………………x 5 参考文献 ………………………………………………………………x

1. 课程设计的目的:

(1) 熟练运用C++编写程序;

(2) 会用Floyd算法查找最短路径;

2. 需求分析:

. . . . .

. . . .

1. 题目:

【校园导游咨询】 [问题描述]

(1)设计你的学校的校园平面图,所含景点不少于10个。以图中顶点表示学校各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。

(2)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。

(3)为来访客人提供图中任意景点相关信息的查询。 [测试数据]

由读者根据实际情况指定。

2. 任务:通过此程序可实现以下功能:

(1) 用一维数组存放景点信息,二维数组存放景点间的距离,最短距离,最短路

径;

(2) Floyd算法计算最短距离和路径;

(3) 根据景点序号查询景点的一系列信息,及两景点间的最短路径和最短距离。 3. 测试数据:

查询类型:I(表示查询景点信息); 景点编号:3;

查询类型:D(表示查询景点间的最短路径和最短距离); 景点编号:1 9;

3. 课程设计报告容:

1. 概要设计: (1)首先我画了学校主要几个景点的分布图以及自己定的一些距离,图如下:

. . . . .

. . . .

(2)接着我定义了一个顶点结构体,定义如下: struct Date

{

int num; //景点编号 char name[50]; //景点名称 char introduce[100]; //景点介绍

};

(3)然后我定义了一个类,定义如下: class Travel

{

private:

Date date[15];

int distance[15][15]; int Path[15][15];

int ShortestDistance[15][15]; void Floyd();

public:

Travel(); ~Travel(){}

void Introduce(int); void Scanf();

void ShortDistance(int,int);

};

(4) 基本操作:

void Floyd(); //Floyd算法,计算最短路径和最短距离 Travel(); //构造函数 ~Travel(){} //析构函数

void Introduce(int); //介绍景点函数 void Scanf(); //外部输入函数

void ShortDistance(int,int); //最短距离计算函数

本程序分为2个模块: Int main() {

初始化;

Void Scanf(); }

函数调用关系基本结构图如下所示:

主函数选择最短距离操作介绍函数调用Floyd算法输出景点信息输出最短距离和路径

2. 详细设计:

. . . . .

. . . .

(1)主函数初始化变量;

(2)调用外部接口函数Scanf(); (3)输入查询类型,如果为“I”,调用景点介绍函数,如果为“D”,调用最短

距离和路径函数。

3. 调试分析:

刚开始运行时,所有汉字部分输出都为火星文,重新复制粘贴后此问题消失;改后 运行时初始和终止点之间的顶点输出有问题,查到原因是数组下标有问题,改了之 后,一切正常。 4. 用户手册(无) 5. 测试结果:

6. 程序清单:

. . . . .

. . . .

#include #include #include \#define MAX 1000 using namespace std; class Travel {

private: Date date[15]; //顶点数组 int distance[15][15]; //两顶点间的数组 int Path[15][15]; //存放最短路径 int ShortestDistance[15][15]; //存放最短距离 void Floyd(); //Floyd算法 public: Travel(); //构造函数 ~Travel(){} //析构函数 void Introduce(int); //景点介绍函数 void Scanf(); //外部接口函数 void ShortDistance(int,int); //最短路径及距离函数 };

//构造函数

Travel::Travel() { int i,j; for(i=1;i<=14;i++) { date[i].num=i; //给顶点的编号赋值 switch(i) { case 1: strcpy(date[i].name,\杭电大门\

strcpy(date[i].introduce,\大门像桥,像船,据说是亚洲

一长门,是杭电的标志性建筑之一。\

break; case 2: strcpy(date[i].name,\教\ strcpy(date[i].introduce,\计算机学院所在地,里面没

有教室,除了老师的办公室外全部都为实验室。\

break; case 3: strcpy(date[i].name,\教\ strcpy(date[i].introduce,\电子信息学院所在地,乐跑签

到处。\

. . . . .

数据结构试验报告--校园导游

....《数据结构》课程设计报告课程名称:《数据结构课程设计》;课程设计题目:校园导游查询;:晓艺;院系:计算机学院;专业:数字媒体技术;年级:大二;学号:10054220;指导教师:王立波;2011年12月17日
推荐度:
点击下载文档文档为doc格式
102yn2q2gj2r4yi9c8hj79c964hjzq00lep
领取福利

微信扫码领取福利

微信扫码分享