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

上传人:b****4 文档编号:27259283 上传时间:2023-06-28 格式:DOCX 页数:37 大小:255.28KB
下载 相关 举报
数据结构试验报告校园导游docx.docx_第1页
第1页 / 共37页
数据结构试验报告校园导游docx.docx_第2页
第2页 / 共37页
数据结构试验报告校园导游docx.docx_第3页
第3页 / 共37页
数据结构试验报告校园导游docx.docx_第4页
第4页 / 共37页
数据结构试验报告校园导游docx.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

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

《数据结构试验报告校园导游docx.docx》由会员分享,可在线阅读,更多相关《数据结构试验报告校园导游docx.docx(37页珍藏版)》请在冰豆网上搜索。

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

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

《数据结构》

课程设计报告

课程名称:

《数据结构课程设计》;

课程设计题目:

校园导游查询;

姓名:

张晓艺;

院系:

计算机学院;

专业:

数字媒体技术;

年级:

大二;

学号:

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(表示查询景点间的最短路径和最短距离);

景点编号:

19;

3.课程设计报告内容:

1.概要设计:

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

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

structDate

{

intnum;//景点编号

charname[50];//景点名称

charintroduce[100];//景点介绍

};

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

classTravel

{

private:

Datedate[15];

intdistance[15][15];

intPath[15][15];

intShortestDistance[15][15];

voidFloyd();

public:

Travel();

~Travel(){}

voidIntroduce(int);

voidScanf();

voidShortDistance(int,int);

};

(4)基本操作:

voidFloyd();//Floyd算法,计算最短路径和最短距离

Travel();//构造函数

~Travel(){}//析构函数

voidIntroduce(int);//介绍景点函数

voidScanf();//外部输入函数

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

本程序分为2个模块:

Intmain()

{

初始化;

VoidScanf();

}

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

2.详细设计:

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

(2)调用外部接口函数Scanf();

(3)输入查询类型,如果为“I”,调用景点介绍函数,如果为“D”,调用最短距离和路径函数。

3.调试分析:

刚开始运行时,所有汉字部分输出都为火星文,重新复制粘贴后此问题消失;改后

运行时初始和终止点之间的顶点输出有问题,查到原因是数组下标有问题,改了之

后,一切正常。

4.用户手册(无)

5.测试结果:

6.程序清单:

#include

#include

#include"School.h"

#defineMAX1000

usingnamespacestd;

classTravel

{

private:

Datedate[15];//顶点数组

intdistance[15][15];//两顶点间的数组

intPath[15][15];//存放最短路径

intShortestDistance[15][15];//存放最短距离

voidFloyd();//Floyd算法

public:

Travel();//构造函数

~Travel(){}//析构函数

voidIntroduce(int);//景点介绍函数

voidScanf();//外部接口函数

voidShortDistance(int,int);//最短路径及距离函数

};

//构造函数

Travel:

:

Travel()

{

inti,j;

for(i=1;i<=14;i++)

{

date[i].num=i;//给顶点的编号赋值

switch(i)

{

case1:

strcpy(date[i].name,"杭电大门");

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

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

");

break;

case2:

strcpy(date[i].name,"1教");

strcpy(date[i].introduce,"计算机学院所在地,里面没有教室,除了老师的办公室外全部都为实验室。

");

break;

case3:

strcpy(date[i].name,"2教");

strcpy(date[i].introduce,"电子信息学院所在地,阳光乐跑签到处。

");

break;

case4:

strcpy(date[i].name,"3教");

strcpy(date[i].introduce,"外国语学院所在地,机房所在地。

");

break;

case5:

strcpy(date[i].name,"6教");

strcpy(date[i].introduce,"理学院所在地,教室全天开放可供学生自修的地方");

break;

case6:

strcpy(date[i].name,"7教");

strcpy(date[i].introduce,"多媒体教室所在地,英语小班教室所在地。

");

break;

case7:

strcpy(date[i].name,"8教");

strcpy(date[i].introduce,"金工实习的地方。

");

break;

case8:

strcpy(date[i].name,"9教");

strcpy(date[i].introduce,"上选修课的地方。

");

break;

case9:

strcpy(date[i].name,"10教");

strcpy(date[i].introduce,"上选修课的地方。

");

break;

case10:

strcpy(date[i].name,"11教");

strcpy(date[i].introduce,"上必修课与选修课的地方,阳光乐跑签到处。

");

break;

case11:

strcpy(date[i].name,"12教");

strcpy(date[i].introduce,"上必修课与选修课的地方。

");

break;

case12:

strcpy(date[i].name,"图书馆");

strcpy(date[i].introduce,"外形像一本巨大的打开的书,是杭电标志性建筑之一。

");

break;

case13:

strcpy(date[i].name,"体育馆");

strcpy(date[i].introduce,"外形像一个飞碟,杭电的标志性建筑之一。

");

break;

case14:

strcpy(date[i].name,"学生活动中心");

strcpy(date[i].introduce,"学生进行课余活动所在地。

");

break;

default:

break;

}

}

for(i=1;i<=10;i++)

{

ShortestDistance[i][i]=0;//所有的两顶点最短距离初始化为0

}

for(i=1;i<=14;i++)

{

for(j=1;j<=14;j++)

{

distance[i][j]=MAX;//所有两顶点间的距离初始化为最大值

}

}

//有连接的顶点间的距离赋值

distance[1][1]=distance[2][2]=distance[3][3]=distance[4][4]=distance[5][5]=distance[6][6]=distance[7][7]=0;

distance[8][8]=distance[9][9]=distance[10][10]=distance[11][11]=distance[12][12]=distance[13][13]=distance[14][14]=0;

distance[1][2]=distance[2][1]=50;

distance[1][3]=distance[3][1]=60;

distance[2][3]=distance[3][2]=30;

distance[2][4]=distance[4][2]=30;

distance[3][5]=distance[5][3]=80;

distance[4][6]=distance[6][4]=60;

distance[5][6]=distance[6][5]=30;

distance[5][12]=distance[12][5]=20;

distance[6][12]=distance[12][6]=20;

distance[6][7]=distance[7][6]=30;

distance[7][12]=distance[12][7]=10;

distance[6][11]=distance[11][6]=50;

distance[4][9]=distance[9][4]=80;

distance[8][9]=distance[9][8]=10;

distance[8][10]=distance[10][8]=10;

distance[10][11]=distance[11][10]=10;

distance[11][9]=distance[9][11]=10;

distance[5][13]=distance[13][5]=20;

distance[7][13]=distance[13][7]=30;

distance[6][14]=distance[14][6]=10;

distance[11][14]=distance[14][11]=70;

}

//景点介绍函数

voidTravel:

:

Introduce(inti)

{

cout<<"景点代号:

"<

"<

"<

}

//Floyd算法

voidTravel:

:

Floyd()

{

inti,j,k;

for(i=1;i<=14;i++)

{

for(j=1;j<=14;j++)

{

ShortestDistance[i][j]=distance[i][j];//最短距离用两点距离初始化

Path[i][j]=0;//两顶点间的路径点用编号0初始化

}

}

for(i=1;i<=14;i++)//起点的循环

{

for(k=1;k<=14;k++)//中间点(即路径点的循环)

{

for(j=1;j<=14;j++)//终止点的循环

{

//如果两点间的直接距离,比两点经过中间点的距离还要大,最短距离重新赋值,中间点到最短路径数组

if(ShortestDistance[i][j]>(ShortestDistance[i][k]+ShortestDistance[k][j]))

{

ShortestDistance[i][j]=ShortestDistance[i][k]+ShortestDistance[k][j];

Path[i][j]=k;

Path[j][i]=k;

}

}

}

}

}

//输入函数

voidTravel:

:

Scanf()

{

inti,j;

charn;

cout<<"请输入查询项目编号I或D(I代表景点介绍,D代表查询两地间的最短距离及最短路径):

"<

cin>>n;

cout<

if(n=='I')

{

cout<<"请输入所要查询的景点代号(请输入1~14之间的数字):

"<

cin>>i;

if(i>=1&&i<=14)

{

Introduce(i);

}

else

{

cout<<"无此景点信息!

"<

}

}

elseif(n=='D')

{

cout<<"请输入所要查询的两个景点编号(请输入1~14之间的数字):

"<

cin>>i>>j;

if((i>=1&&i<=14)&&(j>=1&&j<=14))

{

ShortDistance(i,j);

}

else

{

cout<<"无此景点信息,没有路径可查!

"<

}

}

else

{

cout<<"无此查询项!

"<

}

}

//求两地的最短距离及路径

voidTravel:

:

ShortDistance(inti,intj)

{

Floyd();

inttemp[14];//临时数组,用来对路径起颠倒顺序作用

intcount=0,k;

inta,b;

a=i;

b=j;

cout<"<

"<

if(ShortestDistance[i][j]!

=MAX)//如果两顶点可以直接或间接连接

{

cout<

if(i

{

while(Path[i][j]!

=0)//如果路径数组有间接点

{

temp[count++]=Path[i][j];//路径点逆序存入临时数组

j=Path[i][j];

}

for(k=count-1;k>=0;k--)

{

cout<<"->"<

}

}

Else//起点编号大于终点编号

{

while(Path[i][j]!

=0)

{

cout<<"->"<

i=Path[i][j];

}

}

cout<<"->"<

}

cout<"<

cout<

}

intmain()

{

Travelg;//定义一个Travel类型的变量

g.Scanf();//调用外部接口函数

return0;

}2015平面设计实习报告范文3000字

学生姓名:

专业班级:

模具设计与制造

实践地点:

xxxxxx公司

指导教师:

编写日期:

2015.3.13

3年大学生活转瞬即使。

2015,当我们还站在大三憧憬时,便被时间和现实狠狠的一把推向社会。

作为2015年的毕业生,今年正是我们实习的时间,当我拿着一纸介绍信去实习单位报道时,我知道这意味着什么,在学校里的那些小情绪小困扰小挑战,都已经成为微不足道,纸上谈兵的过去。

如果大学三年是我们做准备的时期,是我们资本积累的时期,那我们现在应该考虑如何让我们的资本得到应用和运转,那既是如何在社会中使自己的能力实现其价值。

我们将有崭新的身份和状态,我们将面对更大的,更现实的任务和困难——独立,工作,生存。

随着社会的快速发展,当代社会对即将毕业的大学生的要求越来越高,对于即将毕业的我们而言,为了能更好的适应严峻的就业形势,毕业后能够尽快的融入社会,同时能够为自己步入社会打下坚实的基础。

经过了一段时间的理论学习,使我对设计有了基本掌握,对于设计基础也有些掌握。

也因此对设计有所喜爱,希望能找份相关的工作,作为应届生,心中想得更多的是如何去做好一个设计、如何更好的去完成每一个设计任务、甚至成为一名职业的设计师。

在实习过程中,我深深地感受到做设计通常是缺乏足够的市场和管理上的经验,做出的设计作品经常会与市场经济脱节;而作为管理者通常缺乏设计基础和审美能力,往往为了追求市场效益,过多地拘束设计师的思维与创新,忽略了设计要素的重要性,造成了设计的庸俗化。

所以我们不仅要对基础设计理论能够熟练的运用,对管理学、市场营销、财务管理等各个方面也都有了初步了解。

因此仅仅通过在学校所学的理论知识是远远不够的,这就需要我们去实践,走进公司,将所学理论与实践相结合,这也是我们这次实习课程的目的。

实习时间:

20xx年xx月1日——20xx年12月31日

实习地点:

厦门麦洋贸易有限公司

实习单位介绍:

麦洋贸易有限公司成立于2011年6月,拥有知名度较高的独立原创男装品牌的同时,也为大中型企业进行网站筹措、设计,网络推行营销于一体的国内首家云服务综合

实习目的:

毕业实习是我们大学期间的最后一门课程,不知不觉我们的大学时光就要结束了,在这个时候,我们非常希望通过实践来检验自己掌握的知识的正确性。

并通过社会实践,熟练技能,了解艺术设计机构,其部门、日常业务活动、整体状态。

从中认识到艺术设计活动与人力、资金、社会的关系。

因此,我来到厦门麦洋贸易有限公司,在这里开始了我的毕业实习。

实习内容:

在结束本学期的课程后我就开始寻找一家设计公司去实习,因为仅仅通过在学校所学理论知识是远远不够的,这就需要我们去实践,走进公司,将所学理论与实践相结合,经过长时间的寻找终于2011年12月01日,我应聘到厦门麦洋贸易有限公司进行了为期12个月的实习活动,进行学习,任职平面设计。

第一天上班,因为不熟悉上班路线的交通情况,为了不迟到我早早的起床。

到了公司时间安排刚刚好。

进入公司的时候,不知道该做些什么,什么也插不上手,只是这里看看,那里逛逛,与经理进行了简单的面谈之后,并没有给我留下过多的任务,先让我熟悉一下环境,了解了一下公司的状况,包括其规模、部门、人员分工等。

闲着的时候就试着用photoshop软件模仿教程做一些简单的图片,说实话我以前在学校的时候也这样做过,不过效果没有这么好,因为以前一遇到难的或不懂的就停下来不做了,而现在有老师在旁边,有不懂的就问,这使我受益非浅。

紧接着当然就是跟同事做了一个简单的自我介绍,他们的激情与热情,让我在这里感受到家一般的温馨和快乐,我相信我的选择,这里将会是我人生的另一个起点,我会好好向他们学习、请教的。

俗话说万事开头难,所以既然决定在这里了就脦从基层开始做起,于是乎我就开始学习了解印刷中纸张的种类、每种纸的不同用途以及常用纸张的规格。

印刷是设计中重要的一个环节,是让设计师的想法和创意转化成现实的一步,因此需要做一些重要的学习与了解。

我了解到,在印刷中,我们需要注意牢记客户所需的纸张的大小规格和图片分辨率等,因为这是一切创意的基础。

设计既要有创意又要严谨,既要从小中见大又要从大中体现出细致和创意,这是公司经理给我上的第一堂课。

并告诉我刚刚踏入社会从事设计行业需要学习与了解的还有很多,不要浮躁静下心来慢慢学,时间久了,看得多了、做得多了、听得多了,自然也就慢慢上手了,经验就是这样累计起来的。

然后我回到我的位置上对同事做了一个简单的自我介绍,公司同事都特别热情,我暗暗下决心一定要多向他们多虚心学习。

我和同事们一起参与平面设计工作,开始的时候总觉得自己学历很底,没有受过正规系统的学习,审美也很有问题,又没有工作经验,而他们的教育水平明显高于我,他们的能力也理所应当在我之上......因此,在了解完基本工作流程后我开始接手负责一些比较琐碎的设计任务。

还没有真正地参与到比较完整的活动策划之中。

经过几天的磨

合,自己有的缺点和不足,开始慢慢呈现,在校的时候由于实际锻炼的机会比较少,在软件操作上还是不够纯熟。

而且对于客户的要求并不能立即做出反应而他们如鱼得水,做的东西很适用......他们较之于我掌握了更多更实用,更现实化,应用化的东西。

而我只是在书本上纸上谈兵.自然还待讨教和学习,再之我的专业又不对口,什么都脦从新学起,学习起来还是挺累的。

不过这个问题其实也很普遍,像我们这样刚毕业而学历又不高的,很难找到专业对口的工作,所以平时还是多学点对自己以后找工作还是有点帮助的。

但同时这也是幸运的,来到这里正好锻炼一下自己,现在出错还不打紧,以后就没这机会学习了,所以我要好好把握,努力学习并学以致用。

通过前几天的工作实践,基本的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 天文地理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1