校园导游图
- 格式:doc
- 大小:377.00 KB
- 文档页数:18
【二年级】介绍校园的导游词300字导游词
各位家长、亲爱的小朋友们,大家好!欢迎来到我们美丽的校园!我是今天的导游小明,很高兴能带领大家参观我们学校。
让我们来到我们学校的大门口。
这是我们学校的标志性建筑,上面有着鲜艳的校训和校徽,象征着我们学校的优良传统和灿烂历史。
接下来,我带大家先来到我们的操场。
这是我们课余生活的重要场所,同学们在这里进行体育活动和集体操练,也是我们举行各类活动和集会的场所。
再往前走,就是我们的教学楼了。
这座教学楼有十层高,是我们学校最高的建筑。
楼里有许多教室、图书馆、实验室等,同学们在这里度过了许多快乐的学习时光。
沿着小路往前走,我们来到了我们学校最美丽的花园。
这里有各种各样的花卉植物,四季不同,花儿不断。
同学们在这里可以享受到大自然的美景,感受到大自然的美好。
我带大家来到我们学校的食堂。
这是我们学校最热闹的地方,同学们在这里享受美味的美食,也可以和同学们一起聊天,是我们生活中不可或缺的一部分。
今天的校园导游就到此结束了,希望大家能够喜欢我们美丽的校园,并且在这里度过快乐的时光。
谢谢大家!。
实验七 图的建立及其应用一、实验目的:(1)掌握图的存储思想及其存储实现。
(2)掌握图的深度、广度优先遍历算法思想及其程序实现。
(3)掌握图的常见应用算法的思想及其程序实现。
(4)理解有向无环图、最短路径等算法二、实验要求1.将算法中的横线内容填写完整,使程序能正常运行2.在主函数中设计一个简单的菜单,具有如下功能。
(1)建立有向图的邻接表;(2)输出邻接表;3.实现图的深度优先遍历的算法(选做)4.完成实际应用(选做)三、实验原理1、图(GRAPH )是一种复杂的数据结构,结点之间的关系可以是任意的,由此图的应用极为广泛,已经渗透到如物理、化学、电讯工程、计算机科学等领域。
2、图存储结构:邻接矩阵表示法和邻接表表示法,本次实验图主要以邻接表进行存储。
用邻接矩阵表示法表示图如下图所示:0 1 0 1 A = 1 0 1 10 1 0 01 0 0 1一个无向图的邻接矩阵表示无向图对应的邻接表表示如下图所示:序号一个无向图的的邻接表表示四、实验程序说明图类型定义typedef struct Node{int dest; //邻接边的弧头结点序号struct Node *next;}Edge; //邻接边单链表的结点的结构体typedef struct{DataType data; //图顶点Edge *adj; //邻接边的头指针}AdjLHeight; //数组的数据元素类型结构体typedef struct{AdjLHeight a[MaxVertices]; //邻接表数组int numOfVerts; //结点个数int numOfEdges; //边个数}AdjLGraph; //邻接表结构体五、参考程序#include<malloc.h> /* malloc()等*/#include<stdio.h> /* EOF(=^Z或F6),NULL */#include<stdlib.h> /* atoi() */#include<process.h> /* exit() */typedef char DataType;#define MaxVertices 10void AdjInitiate(AdjLGraph *G)//初始化图{int i;G->numOfEdges=0;G->numOfVerts=0;for(i=0;i<MaxVertices;i++){G->a[i].adj = NULL ;//设置邻接边单链表头指针初值}}void InsertVertex(AdjLGraph *G,int i,DataType vertex)//在图中的第i个位置插入顶点数据元素vertex{if(i>=0&&i<MaxVertices){G->a[i].data =vertex; //存储顶点数据元素vertexG->numOfVerts++ ; //个数加1 }else printf("结点越界");}void InsertEdge(AdjLGraph *G,int v1,int v2)//在图中加入边<v1,v2>的信息{Edge *p;if(v1<0||v1>=G->numOfVerts||v2<0||v2>=G->numOfVerts){printf("参数v1和v2越界出错!");exit(0);}p=(Edge*)malloc(sizeof(Edge));//申请邻接边单链表结点空间p->dest=v2; //设置邻接边弧头序号p->next = G->a[v1].adj ; //新结点插入邻接表的表头G->a[v1].adj = p ; //头指针指向新的单链表表头G->numOfEdges++; //边个数加1}int GetFirstVex(AdjLGraph G,int v)//取图G中结点v的第一个邻接结点{Edge *p;if(v<0||v>=G.numOfVerts){printf("参数出错!");exit(0);}p=G.a[v].adj;if(p!=NULL)return p->dest;else return -1;}int GetNextVex(AdjLGraph G,int v1,int v2)//取图G中结点v1的邻接结点v2的下一个邻接结点{Edge *p;if(v1<0||v1>=G.numOfVerts||v2<0||v2>=G.numOfVerts){printf("参数v1和v2越界出错!");exit(0);}p=G.a[v1].adj;while(p!=NULL){if(p->dest!=v2){p = p->next ;continue;}else break;}p=p->next;if(p!=NULL) return p->dest;else return -1;}void main(void){int i,k,n,e,v1,v2;char c1;Edge *p;AdjLGraph G;AdjInitiate(&G);printf("输入图的顶点数\n");scanf("%d",&n);getchar();printf("输入图顶点为(请输入字母)\n");for(i=0;i<n;i++){scanf("%c",&c1); //通过键盘,输入图的顶点getchar();InsertVertex(&G,i,c1) ; //插入顶点}printf("输入图的边数\n");scanf("%d",&e);printf("如果边v1->v2,则输入0,1\n");for(k=0;k<e;k++){printf("输入边的顶点为(请输入数字):");scanf("%d,%d",&v1,&v2); //通过键盘,输入图的邻接边的两个顶点InsertEdge(&G,v1,v2) ; //插入边}for(i=0;i<n;i++)//输出邻接表{printf("%c\t",G.a[i].data);p=G.a[i].adj;if(p==NULL) printf("数据为空");else{ while(p!=NULL){printf("%d->",p->dest);p=p->next;}printf("^");}printf("\n");}}序号六、应用题(一)校园导游图实验内容:1、设计学生所在学校的校园平面图,所含景点不少于10个。
《数据结构》课程设计报告设计题目校园导游图学院名称信息工程学院专业班级计算机科学与技术(2)班姓名晁勉学号 1212210226一. 题目:校园导游图二. 设计目标通过设计一个校园导游图,进一步理解数据结构中有关于图的基本概念、定义术语、存储结构等,理解图在描述现实问题中的能力,明白数据结构在程序设计中的重要性等。
三. 问题描述给出学校的导游图(景点不少于10个),游客通过终端询问可知:任一景点的相关信息:从某一景点到另一景点的最短简单路径;游戏从校园大门进入,选一条最佳路线,使游客可以不重复地游览个景点,最后回到出口(出口就在入口旁边)。
四. 需求分析需求:(1)将导游图看作一张带权无向图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息;(2)可以通过菜单提示操作,浏览校园全部景点;(3)查看所有游览路线,将某个景点的所有路线展示给游客;(4)选择出发点和目的地,将最短路线展示给游客;(5)输入景点编号,查看某个景点的信息。
分析:完成对整个校园导游图系统的功能实现,需要对的每一项功能都有清楚的设想和认识,了解并明确每一项功能的实现需要解决的问题,选择正确并且高效的算法把问题逐个解决,最终实现程序的正确调试运行。
有以下设计思路:(1)结合本校的实际情况,选出10个景点;(2)为选出的10个景点赋上相关信息(景点编号、名称、简介);(3)根据选出来的10个景点用邻接矩阵存储校园图.(4)利用C语言和数据结构编写实现校园导游图系统各功能的实现;(5)根据人为赋值的路权,设计算法计算任意两点之间的最短路径并显示;(6)综上所诉,用一个主函数把这些板块合成,生产一个菜单界面呈现在用户面前。
五. 概要设计程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能.课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。
六. 详细设计采用C语言定义相关的数据类型写出各模块的类C码算法图的定义typedefstructArCell{intadj;//路径长度}ArCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];typedefstruct //图中顶点表示主要景点,存放景点的编号、名称、简介等信息,初始化图形MGraph *CreatUDN(MGraph *G)//接受用户输入{inti,j,k,w;char v1[20],v2[20];printf("请输入图的顶点数,弧数:");scanf("%d%d",&G->vexnum,&G-〉arcnum);printf(”请输入景点的编号、名称、简介:\n”);for(i=0;i〈G->vexnum;i++){printf(”景点编号:”);scanf(”%d”,&G-〉vexs—>num);printf("景点名称:”);scanf(”%s",G—〉vexs[i].name);printf("景点简介:”);scanf("%s",G-〉vexs—>introduction);}for(i=0;i<G—>vexnum;i++)for(j=0;j〈G—〉vexnum;j++)G-〉arcs[i][j]。
《校园导游》教学设计一、教学内容本节课是《劳动教育》三年级下册第五单元《校园小导游》第二课时的内容,本节课主要是让学生用一种全新的身份——校园小导游,了解自己的校园,并把美丽的校园介绍给大家,产生自己身在学校而自豪的情感,从而更加热爱自己的学校,也让更多的人了解、喜欢我们的学校。
培养学生合作、组织、观察、动手实践的技能,树立正确的劳动技能。
三年级的学生已经具备了一些外出游览的经验,但是对于如何介绍“风景”并不了解,大部分学生展现出了强烈的好奇心与求知欲,了解校园是一种最基本的爱校表现,不但自己了解校园,还应该让更多的人了解、喜欢自己的校园,通过本节课的学习,让学生当校园小导游,并会把自己的学校介绍给大家。
二、教学目标(1)了解校园的历史发展、美丽风景等,并当小导游向大家介绍,让更多人了解、喜欢我们的校园。
(2)在了解校园的过程中,感受学校的变化和发展,增加热爱校园的思想感情。
(3)在当小导游的过程中,培养学生收集资料、口语表达、实践操作的能力。
三、教学重点会介绍自己的学校。
四、教学难点介绍过程中思路清晰,语言熟练优美。
五、教学准备教师用具:课件及校园图片、导游帽、导游旗等。
学生用具:导游帽、导游旗、纸、笔等。
六、教学过程第一课时环节一:情景导入师:美丽的校园是我们成长的乐园,校园里的一草一木,庄严的国旗、威严的雷锋雕塑、充满着运动气息的操场……都是我们学校独特的“风景”(欣赏图片)。
我们在这么美的学校生活与学习,作为热情的XXX(曲师附校)一员,这节课,我们就来当小导游,带着大家来一次“XXX(曲师附校)之旅”。
学生欣赏校园美景,感受校园之美,激发热爱校园的情怀。
师:我们要想做好校园小导游,我们就要有导游的“设备”,同学们想一想作为一名导游得需要哪些工具和材料呢?(出示导游图片)生:导游帽、导游旗、纸、笔等。
设计意图:(本环节通过欣赏校园美景导入,让学生感受校园之美,激发学生想当校园小导游的欲望,进而激发学生热爱校园的情怀,为后续学习做准备。
志愿服务—校园小导游教学案例教材分析:校园是我们学习和生活的重要场所,我们不仅要热爱它,还可以把它介绍给别人,让别人也了解我们美丽的校园。
今天请你当校园小导游,带领大家参观一下你的校园吧!教学目标:1.了解校园的整体布局、不同教学区的功能,发现校园的美丽。
2.参与校园小导游志愿服务,明白导游应具备的基本素质。
3.明确志愿者的服务宗旨,提高口语交际的能力,增强责任担当意识。
教学方式:查找资料,调查采访,模拟体验。
教学重难点:以小导游的形式介绍校园风光,了解校园的自然景观,感受校园的美。
教学过程:一、走进学校1.同学们,你们见过这个吗?知道这是什么吗?2.校园鸟瞰图,现在的我们就在这么美的学校生活与学习呢!可她藏着许多的美景需要我们去欣赏和了解呢!3.小结:我们美丽的校园-学校正凭着她的实力、活力和魅力一步步走向未来。
随着学校的发展,已被越来越多的人所熟知。
作为热情的学校,可以把校园的最美的风光介绍给他们。
这节课,我们就来当当小导游,带着各地游客来一次“学校之旅”。
二、展示学校校园风采1.为了能把学校这些美丽的风光更好地介绍给游客,老师想成立一个小小的旅行社,可是我有些发愁,没有导游怎么办呀,所以今天我就在我们班里现场招聘小导游。
2.要当好小导游,首先就得了解自己要介绍的景点。
所以,课前老师请同学们选择一个你自己喜欢的景点,搜集图片、照片,你们都准备好了吗?请你把它拿出来,告诉大家你准备介绍的是哪一个景点?3.大家看,这就是我们为大家准备的一小校园风采展示分布图。
4.出示校园风采展示分布图,点击景点出示一些图片。
学生一起喊出这分别是什么地方。
三、初步了解做导游基本要求1.掌握了景点资料,就有了当导游的资本啦!不过要把资料介绍给游客又是大有讲究的。
那么,怎样当一个小导游呢?让我们先听听小导游是怎么做的。
2.谁能来说一说做一名小导游的基本要求呢?3.小结,出示:①导什么:名称、地理位置、历史、特点等②怎么导:热情、大方、有礼貌、声音响亮、口齿清楚。
莆田学院校园导游词(北区)主要路线: 校门——综合楼——喷泉——图书馆——自习室——管院宿舍楼——梯形教室——主教学楼——体育馆——第六餐厅——医学院宿舍楼——操场——教师宿舍楼学弟学妹们:你们好!欢迎来到莆田学院分校区——北区。
我是旅游协会导游队的XX,你们可以称呼我小X,今天,将由小X带领大家去参观北区,领略校园风光,请大家保管好自身贵重物品,跟我出发。
我们面前的这道门便是“莆田学院”北大门了。
北区原本是福建医科大学在莆田的分校,后来与莆田高等专科学校合并,成为莆田学院现在的北区。
这个是北区校园建筑分布示意图,现在我们是在这个位置(指着图),等下我们将先后参观实验楼、图书馆、宿舍楼、教学楼和体育馆、餐厅,整个游览时间大概45分钟,最后一站是北区文荣教授楼,9点我们将在那里集合,前往中区游览,请同学们务必紧跟队伍。
北区原本只有一个医学院,单一得连学生都孤独了。
后来管理学院从中区搬过来后,为北区注入一股前所未有的新鲜血液,这里的大学氛围也更加浓厚了。
在我右手边高达12层的大厦就是实验综合楼。
这栋综合楼配置了设备先进的学科实验室和模拟病房。
楼梯直接升到二楼,不必经过一楼,把一楼搞得像个地下室,一定有人想问为什么,对吧? 嘿嘿,说了你可别怕,一楼展示的是一些人体标本、器官标本,一般人是不会去的。
说到医学院就不得不提一下莆田学院附属医院,这个附属医院为满足教学需要还特别建有教室、宿舍,以满足临床医学专业学生边上课边见习,提早接触病人。
综合楼11、12楼是管理学院的办公和实验教学地方,设有导游模拟实训室,会计模拟实验室、会计电算化、电子商务实验室等。
最妙的还要算由旅游管理专业经营的旅游咖啡厅。
这个咖啡厅每逢星期五、六就为全校师生开放。
小小咖啡厅,布置淡雅,咖啡浓、果汁香、氛围好,成为老师学生甚至校外人士休闲娱乐放松心情的好去处。
各位朋友现在我们来看这尊雕塑!这是谁,又为什么手里提着灯呢?她是提灯女神——南丁格尔。
【二年级】介绍校园的导游词300字导游词
各位同学,大家好!欢迎来到我们美丽的校园,我将担任今天的导游,为大家介绍我们学校的一切。
我要提醒大家注意安全,听从我的指挥,不要擅自离开队伍。
我们学校占地面积广阔,园林景色优美。
首先向大家介绍我们学校的标志性建筑——教学楼。
教学楼有七层,是我们学校的主要教学区域,其中有多间教室、实验室和图书馆等。
接下来,跟我来到我们学校的操场。
操场上有篮球场、排球场和足球场等,每天下午都有许多同学在这里运动,也是我们学校举办各种体育赛事的场地。
再往前走,我们来到了学生宿舍区。
这里是我们每个人的温馨小窝,每个寝室里都住着同学们,虽然千姿百态,但都是我们学校的一份子。
接着我们来到了校园食堂,这里提供早餐、午餐和晚餐,餐厅里有各种美食,价格适中,食材新鲜,尤其是那里的牛奶和面包,深受同学们的喜爱。
我要向大家介绍校园里最独特的地方——校园艺术馆。
馆内陈列着许多美术作品、手工艺品,每幅作品都是同学们用心创作的,展现了他们对美的追求和独特的艺术天赋。
通过今天的校园导游,相信大家已经对我们的学校有了更清晰的认识。
希望在接下来的学习生活中,同学们可以在美丽的校园里茁壮成长,收获知识,实现梦想。
感谢大家的聆听,祝愿大家在未来的日子里都能取得优异的成绩!谢谢!。
二年七班导游词校园小导游解说词(赤峰实验二小·二年七班)尊敬的各位领导,各位来宾:大家好!欢迎大家来到我们美丽的校园---赤峰市第二实验小学。
我是来自二年七班的学生XXX。
今天,由我和我的同学做校园小导游,带着大家参观游览。
希望在我们的指引和介绍下,您能够高兴而至、满意而归!那么,现在请大家跟着我一起走进学校的大门,开始正式参观这座美丽、文明、健康、活泼的校园吧。
大家现在所处的位置正对着我们的主教学楼,相信首先映入您眼帘的就是教学楼门厅上方“快乐、自主、文雅”六个金色的大字,老师告诉我们这是我校办学的理念,意思是希望我们在学校里能够感受到学习是快乐的,每一位老师都会引导我们自动自觉地学习,帮助我们规范行为、提升修养、开发潜能、培养良好习惯,这样我们才能成长为品德好、行为端,学习好,能力强的学生。
请大家再看向您的右手边,在六块大小相同的小田地中,有一只可爱的小蜜蜂在对着大家微笑,这里是我们的“小蜜蜂种植园”,每一块田地边都都立着一小块绿色的牌子,写着不同的班级,最后边的那一块,就是我们二年七班的“责任田”,我们会用心播种下好多种子,用辛勤的汗水呵护它们茁壮成长,到了春不过现在还是原材料,需要经过不断的打磨和雕琢之后才能变成光洁无瑕的美玉呢!老师就是把我们变成美玉的能工巧匠!等大家一会儿沿途返回时就能够看到展示在走廊墙壁上的主题展板了。
大家好,我是二年七班的学生XXX,现在,请大家随我上二楼参观,楼梯间的墙壁上也被老师们用图版装饰的很漂亮,而且最主要的是提醒同学们要遵守楼道秩序和公共纪律。
我们班的教室就在这一层,是9月才搬上来的,说明我们又长大了一岁,这让同学们都很兴奋,不过我们的教室和校长室离的很近,所以同学们自觉地安静了不少。
这一层的主题是:点亮智慧之灯。
意思是号召同学们多读书、读好书,书的海洋是广阔深远的,老师说一本好书是照亮我们心灵、指引我们方向的灯塔。
我们的学校始终在打造“书香校园”,阅读是一种良好的习惯。
【二年级】介绍校园的导游词300字导游词
欢迎大家来到我们学校的校园导游!我将带领大家参观我们美丽的校园,让大家更好
地了解我们的学校。
我们来到学校的正门。
这是整个校园的入口,也是我们学校的门面。
大门上方有学校
的名字,门两侧树立着两根高大的旗杆,上面挂满了五颜六色的旗帜,让整个校园显得非
常庄重而美丽。
接下来,我们进入学校的主楼。
主楼是学校最重要的建筑之一,里面有教室、图书馆
以及办公室等。
教室是我们学习知识的地方,而图书馆则是我们读书的好地方。
学校的办
公室则是老师们工作的地方,他们在这里备课、批改作业等。
然后,我们来到学校的操场。
操场是我们上体育课、放学后活动的地方。
这里非常宽阔,绿草如茵,周围有许多大树,还有几个篮球场和足球场。
每天下课后,我们都会来到
这里与同学们一起锻炼身体,享受阳光和空气。
接下来,我将带领大家参观我们学校的食堂。
食堂是我们学校里最热闹的地方之一,
每天中午都有很多同学来这里吃饭。
这里的饭菜种类多样,有米饭、面条、蔬菜、肉类等,看起来非常诱人。
我们来到学校的花园。
花园是学校文化的象征,这里有各种各样的花草,还有一些小
动物。
这里非常美丽,是同学们休闲、放松的好去处。
我们可以在这里欣赏花朵的美丽,
还可以和小动物亲密接触。
《数据结构》课程设计报告设计题目校园导游图学院名称信息工程学院专业班级计算机科学与技术(2)班姓名晁勉学号 1212210226一. 题目:校园导游图二. 设计目标通过设计一个校园导游图,进一步理解数据结构中有关于图的基本概念、定义术语、存储结构等,理解图在描述现实问题中的能力,明白数据结构在程序设计中的重要性等。
三. 问题描述给出学校的导游图(景点不少于10个),游客通过终端询问可知:任一景点的相关信息:从某一景点到另一景点的最短简单路径;游戏从校园大门进入,选一条最佳路线,使游客可以不重复地游览个景点,最后回到出口(出口就在入口旁边)。
四. 需求分析需求:(1)将导游图看作一张带权无向图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息;(2)可以通过菜单提示操作,浏览校园全部景点;(3)查看所有游览路线,将某个景点的所有路线展示给游客;(4)选择出发点和目的地,将最短路线展示给游客;(5)输入景点编号,查看某个景点的信息。
分析:完成对整个校园导游图系统的功能实现,需要对的每一项功能都有清楚的设想和认识,了解并明确每一项功能的实现需要解决的问题,选择正确并且高效的算法把问题逐个解决,最终实现程序的正确调试运行。
有以下设计思路:(1)结合本校的实际情况,选出10个景点;(2)为选出的10个景点赋上相关信息(景点编号、名称、简介);(3)根据选出来的10个景点用邻接矩阵存储校园图。
(4)利用C语言和数据结构编写实现校园导游图系统各功能的实现;(5)根据人为赋值的路权,设计算法计算任意两点之间的最短路径并显示;(6) 综上所诉,用一个主函数把这些板块合成,生产一个菜单界面呈现在用户面前。
五. 概要设计程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能。
课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。
六. 详细设计采用C语言定义相关的数据类型写出各模块的类C码算法图的定义typedefstructArCell{intadj; //路径长度}ArCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];typedefstruct //图中顶点表示主要景点,存放景点的编号、名称、简介等信息,初始化图形MGraph * CreatUDN(MGraph *G)//接受用户输入{inti,j,k,w;char v1[20],v2[20];printf("请输入图的顶点数,弧数:");scanf("%d%d",&G->vexnum,&G->arcnum);printf("请输入景点的编号、名称、简介:\n");for(i=0;i<G->vexnum;i++){printf("景点编号:");scanf("%d",&G->vexs->num);printf("景点名称:");scanf("%s",G->vexs[i].name);printf("景点简介:");scanf("%s",G->vexs->introduction);}for(i=0;i<G->vexnum;i++)for(j=0;j<G->vexnum;j++)G->arcs[i][j].adj=INFINITY;printf("请输入路径长度:\n");for(k=0;k<G->arcnum;k++){printf("第%d条边:\n",k+1);printf("景点对(x,y):");scanf("%s",v1);scanf("%s",v2);printf("路径长度:");scanf("%d",&w);i=LocateVex(G,v1);j=LocateVex(G,v2);if(i>=0&&j>=0){G->arcs[i][j].adj=w;G->arcs[j][i]=G->arcs[i][j];}}return G;}主菜单void main(){printf("\n 榆林学院导游图 \n");printf("********************************************\n");printf(" * 1.浏览校园全景 *\n");printf(" * 2.查看所有游览路线 *\n");printf(" * 3.选择出发点和目的地 *\n");printf(" * 4.查看景点信息 *\n");printf(" * 5.退出系统 *\n");printf(" ********************************************\n");printf("请选择您所需要的操作:");}画出主要函数的流程图七.测试分析白盒:查看代码完整性代码完整。
黑盒:测试是否可以正确的初始化,编码,译码,打印哈夫曼树等操作黑盒检测:打开VC++6.0开发环境,编译连接程序是否有错;连接生成可执行exe文件八. 使用说明首先启动VC++开发环境,新建工程project,设定工程project 的名称和保存位置,工程的描述信息生产,从而建立了一个空的工程文件。
向工程中添加新建源代码的类型、名称、保存位置,设定源代码的类型、名称并添加到工程中,在源代码文件添加程序代码,编写完成后编译,查看运行结果。
注意:一个工程project中可以有多个源文件、多个头文件;但这些段代码文件中只能出现一个main函数,作为整个程序运行的入口;必须关闭前一次程序运行结果窗口,才能进行下一次程序运行。
编译程序无错后运行,根据主菜单提示输入所需要的操作,当输入1-5时显示运行结果,否则重新输入。
操作结束后,根据提示再选择景点时,当输入0-9显示运行结果,否则重新输入,操作完成后,根据菜单提示退出系统,运行结束。
九.测试数据1.主菜单2.校园各景点展示3.景点路线4.从出发点到目的地的路线5.景点信息查询十. 课程设计总结通过课程设计,使我对《数据结构》这门课程有了更深一步的认识。
它是计算机程序设计的重要理论技术基础,在软件专业的学习中占据着十分重要的地位。
同时也使我知道,要学好这门课程,基础是非常重要的,比如说以前学习的C语言为这门课、为程序的设计打下了重要的基础。
也让我明白,上课认真听讲通过编写实验代码和调试运行,我们可以逐步积累调试C程序的经验并逐渐培养我们的编程能力、增强用计算机解决世界问题的能力。
在课程设计过程中,总会感觉无从下手。
因为上课时听的理论知识,各种算法总感觉挺似容易理解的,但是在真正的运用过程中,却不能把理论知道很好的和实践结合起来。
因此,在学知识的过程中,一定要多动手、动脑,将所学的知识熟练掌握,自如运用。
课程设计具有较强的可应用性和实践性,也是一个很考验毅力的过程,一个小小的错误就会导致整个程序出错,代价就是花费更长的时间去解决。
因此,我们应该认真的对待课程设计,无论是编程设计还是分析总结都应该做到尽善尽美,这样才能提高我们的学习能力,为自己以后的发展打下扎实的基础。
此外,对程序的测试应该要仔细,以确保各个模块的正确性和完整性,最后集成起来测试其是否正确和完整地实现了问题描述中要求的功能。
通过运用《数据结构》中的算法思想并结合C语言的基本知识,编写校园导游图的程序设计,使我受益匪浅,也让我明白了自己在这方面知识上的欠缺,比如不能完整的编写一个程序使之如自己预想的那样呈现在主菜单上,当然,我一定会再接再厉,努力改进,提高自己。
源程序代码:#include<stdlib.h>#include<stdio.h>#include<conio.h>#include<string.h>#define INFINITY 10000#define MAX_VERTEX_NUM 40#define MAX 40typedefstructArCell{intadj; //路径长度}ArCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];typedefstruct //图中顶点表示主要景点,存放景点的编号、名称、简介等信息,{char name[30];intnum;char introduction[100];//简介}infotype;typedefstruct{infotypevexs[MAX_VERTEX_NUM];AdjMatrix arcs;intvexnum,arcnum;}MGraph;MGraph b;voidcmd(void);MGraphInitGraph(void);void Menu(void);void Browser(MGraph *G);voidShortestPath_DIJ(MGraph * G);void Floyd(MGraph *G);void Search(MGraph *G);intLocateVex(MGraph *G,char* v);MGraph * CreatUDN(MGraph *G);void print(MGraph *G);void main(void){system("color 0f");system("mode con: cols=140 lines=130");cmd();}voidcmd(void){int i;b=InitGraph();Menu();scanf("%d",&i);while(i!=5){switch(i){case 1:system("cls");Browser(&b);Menu();break;case 2:system("cls");ShortestPath_DIJ(&b);Menu();break;case 3:system("cls");Floyd(&b);Menu();break;case 4:system("cls");Search(&b);Menu();break;case 5:exit(1);break;default:break;}scanf("%d",&i);}}MGraphInitGraph(void){MGraph G;inti,j;G.vexnum=10;G.arcnum=14;for(i=0;i<G.vexnum;i++)G.vexs[i].num=i;strcpy(G.vexs[0].name,"沁园");strcpy(G.vexs[0].introduction,"有山有水,是学院最美丽最具特色的地方"); strcpy(G.vexs[1].name,"校门口");strcpy(G.vexs[1].introduction,"榆林学院的南大门,正门之一");strcpy(G.vexs[2].name,"13号公寓楼");strcpy(G.vexs[2].introduction,"学院最新的公寓楼,设备和环境是学院所有公寓楼中最好的");strcpy(G.vexs[3].name,"图书馆");strcpy(G.vexs[3].introduction,"内有数万种图书并设有不少自习室,有电子阅览室和免费饮水机");strcpy(G.vexs[4].name,"行政楼");strcpy(G.vexs[4].introduction,"学院的主楼,各级领导办公的地方,外观新颖,楼内干净,设备齐全");strcpy(G.vexs[5].name,"旧餐厅");strcpy(G.vexs[5].introduction,"自学校建立就有的餐厅,学生吃饭的地方,饭菜不是很美味,价格适中");strcpy(G.vexs[6].name,"逸夫楼");strcpy(G.vexs[6].introduction,"这是学院最新的一所教学楼,其设备齐全,是学生进行科技设计的选择之地");strcpy(G.vexs[7].name,"新餐厅");strcpy(G.vexs[7].introduction,"就餐窗口少,饭味不可口且价格较贵,但比旧餐厅好的是新设了卖饮品的餐位");strcpy(G.vexs[8].name,"田径场");strcpy(G.vexs[8].introduction,"塑胶跑道,人造草坪,适宜锻炼身体的好地方,学院的大型室外活动也都在此举行");strcpy(G.vexs[9].name,"2号教学楼");strcpy(G.vexs[9].introduction,"学院的多媒体教学场所,设施先进,环境良好,网速较快,是各院系学生练机的首选之地");for(i=0;i<G.vexnum;i++)for(j=0;j<G.vexnum;j++)G.arcs[i][j].adj=INFINITY;G.arcs[0][1].adj=100;G.arcs[0][2].adj=100;G.arcs[0][6].adj=800;G.arcs[1][7].adj=300;G.arcs[2][3].adj=400;G.arcs[3][6].adj=600;G.arcs[3][4].adj=200;G.arcs[4][5].adj=700;G.arcs[4][9].adj=550;G.arcs[5][9].adj=500;G.arcs[6][7].adj=900;G.arcs[6][9].adj=150;G.arcs[7][8].adj=350;G.arcs[8][9].adj=450;for(i=0;i<G.vexnum;i++)for(j=0;j<G.vexnum;j++)G.arcs[j][i].adj=G.arcs[i][j].adj;return G;}void Menu(){printf("\n 榆林学院导游图\n");printf("********************************************\n");printf(" * 1.浏览校园全景*\n");printf(" * 2.查看所有游览路线*\n");printf(" * 3.选择出发点和目的地*\n");printf(" * 4.查看景点信息*\n");printf(" * 5.退出系统*\n");printf("********************************************\n");printf("请选择您所需要的操作:");}void Browser(MGraph *G){int v;printf("************************************************************* ******************************************\n");printf("编号景点名称简介\n");for(v=0;v<G->vexnum;v++)printf("%-4d%-16s%-56s\n",G->vexs[v].num,G->vexs[v].name,G->vexs[v].i ntroduction);printf("************************************************************* ******************************************\n");}voidShortestPath_DIJ(MGraph * G){intv,w,i,min,t=0,x,flag=1,v0;int final[20], D[20], p[20][20];while(flag){printf("请输入一个起始景点编号:");scanf("%d",&v0);if(v0<0||v0>G->vexnum){printf("景点编号不存在!请重新输入景点编号:");scanf("%d",&v0);}if(v0>=0&&v0<G->vexnum)flag=0;}for(v=0;v<G->vexnum;v++){final[v]=0;D[v]=G->arcs[v0][v].adj;for(w=0;w<G->vexnum;w++)p[v][w]=0;if(D[v]<INFINITY){p[v][v0]=1;p[v][v]=1;}}D[v0]=0;final[v0]=1;for(i=1;i<G->vexnum;i++){min=INFINITY;for(w=0;w<G->vexnum;w++)if(!final[w])if(D[w]<min){v=w;min=D[w];}final[v]=1;for(w=0;w<G->vexnum;w++)if(!final[w]&&(min+G->arcs[v][w].adj<D[w])){D[w]=min+G->arcs[v][w].adj;for(x=0;x<G->vexnum;x++)p[w][x]=p[v][x];p[w][w]=1;}}for(v=0;v<G->vexnum;v++){if(v0!=v) printf("%s",G->vexs[v0].name);for(w=0;w<G->vexnum;w++){if(p[v][w]&&w!=v0) printf("-->%s",G->vexs[w].name);t++;}if(t>G->vexnum-1&&v0!=v)printf(" 总路线长%dm\n\n",D[v]); }}void Floyd(MGraph *G){intv,u,i,w,k,j,flag=1,p[10][10][10],D[10][10];for(v=0;v<G->vexnum;v++)for(w=0;w<G->vexnum;w++){D[v][w]=G->arcs[v][w].adj;for(u=0;u<G->vexnum;u++)p[v][w][u]=0;if(D[v][w]<INFINITY){p[v][w][v]=1;p[v][w][w]=1;}}for(u=0;u<G->vexnum;u++)for(v=0;v<G->vexnum;v++)for(w=0;w<G->vexnum;w++)if(D[v][u]+D[u][w]<D[v][w]){D[v][w]=D[v][u]+D[u][w];for(i=0;i<G->vexnum;i++)p[v][w][i]=p[v][u][i]||p[u][w][i];}while(flag){printf("请输入出发点和目的地的编号:");scanf("%d%d",&k,&j);if(k<0||k>G->vexnum||j<0||j>G->vexnum){printf("景点编号不存在!请重新输入出发点和目的地的编号:"); scanf("%d%d",&k,&j);}if(k>=0&&k<G->vexnum&&j>=0&&j<G->vexnum)flag=0;}printf("%s",G->vexs[k].name);for(u=0;u<G->vexnum;u++)if(p[k][j][u]&&k!=u&&j!=u)printf("-->%s",G->vexs[u].name);printf("-->%s",G->vexs[j].name);printf(" 总路线长%dm\n",D[k][j]);}void Search(MGraph *G){intk,flag=1;while(flag){printf("请输入要查询的景点编号:");scanf("%d",&k);if(k<0||k>G->vexnum){printf("景点编号不存在!请重新输入景点编号:");scanf("%d",&k);}if(k>=0&&k<G->vexnum)flag=0;}printf("************************************************************* *************************************\n");printf("编号景点名称简介\n");printf("%-4d%-16s%-56s\n",G->vexs[k].num,G->vexs[k].name,G->vexs[k].i ntroduction);printf("************************************************************* *************************************\n");}intLocateVex(MGraph *G,char* v){int c=-1,i;for(i=0;i<G->vexnum;i++)if(strcmp(v,G->vexs[i].name)==0){c=i;break;}return c;}MGraph * CreatUDN(MGraph *G)//初始化图形,接受用户输入{inti,j,k,w;char v1[20],v2[20];printf("请输入图的顶点数,弧数:");scanf("%d%d",&G->vexnum,&G->arcnum);printf("请输入景点的编号、名称、简介:\n");for(i=0;i<G->vexnum;i++){printf("景点编号:");scanf("%d",&G->vexs->num);printf("景点名称:");scanf("%s",G->vexs[i].name);printf("景点简介:");scanf("%s",G->vexs->introduction);}for(i=0;i<G->vexnum;i++)for(j=0;j<G->vexnum;j++)G->arcs[i][j].adj=INFINITY;printf("请输入路径长度:\n");for(k=0;k<G->arcnum;k++){printf("第%d条边:\n",k+1);printf("景点对(x,y):");scanf("%s",v1);scanf("%s",v2);printf("路径长度:");scanf("%d",&w);i=LocateVex(G,v1);j=LocateVex(G,v2);if(i>=0&&j>=0){G->arcs[i][j].adj=w;G->arcs[j][i]=G->arcs[i][j];}}return G;}void print(MGraph *G){intv,w,t=0;for(v=0;v<G->vexnum;v++)for(w=0;w<G->vexnum;w++){ if(G->arcs[v][w].adj==INFINITY) printf("∞ ");elseprintf("%-7d",G->arcs[v][w].adj); t++;if(t%G->vexnum==0)printf("\n");}}。