校园导游图

校园导游图
校园导游图

计算机科学与工程学院

数据结构课程设计报告

2014—2015 学年第二学期

小组成员

学生姓名专业班级学号

_黄煜_ _计算机132_ _201311243_ _范文浩_ _计算机132_ _201313463_ 指导教师:张沛露

计算机科学与工程学院

2015 年 6 月

一、课程设计题目和要求

题目:校园导游图

要求:用无向网表示本学校校园景点平面图,选取若干个有代表性的景点抽象成无向带权图,图中顶点表示校内各顶点,边上权值表示路径长度。能够:

(1)为来访客人查询各景点的相关信息;

(2)为来访客人查询图中任意两个景点间的最短路径

(3)为来访客人查询图中任意两个景点间的所有路径

(4)为来访客人修改图中顶点和边的信息

(5)为来访客人增加景点和路径

(6)为来访客人删除景点和路径

(7)为来访客人输出对应编号景点的信息

二、开发平台

处理器:Intel Core i5

物理内存:2048M

操作系统:Microsoft Windows 7

开发环境:Microsoft VC 6.0

三、自定义数据结构

数据对象V:V具有相同特性的数组元素的集合,称为顶点集

数据关系R:R={VR}

VR={|P(x,y)^(x,y属于V)}

ADT Graph{

数据对象V:一个集合,该集合中的所有元素具有相同的特性

数据关系R:R={VR}

VR={|P(x,y)^(x,y属于V)}

基本操作:

(1)initgraph(&G);

(2)creatgraph(mgraph &G);

(3) DeleteplanArc(mgraph &G) ;

(4)DeleteVertex(mgraph &G);

(5) enarc(mgraph &G);

(6) enverx(mgraph &G);

}ADT Graph

基本操作:

1、void displaycampus(mgraph g)输出所有顶点信息(即将展示校园全景图)

2、void seaabout(mgraph G)根据输入编号用来查询各个景点信息

3、void shortestpath_Floyd(mgragh *g)用弗洛伊德阿算法求两个景点间最短路径

4、void Allpaths(mgragh *g)显示输入两个顶点间的所有路径

5、int changegraph(mgraph G) 更改图的信息

6、int locatevex(mgraph c,int v)景点的定位

7、void creatgraph(mgraph &G) 创建图的邻接矩阵

8、void printmatrix(mgraph G) 打印图的邻接矩阵;

9、int DeleteplanArc(mgraph &G) 删除图一条边;

10、int DeleteVertex(mgraph &G) 删除景点

11、int enarc(mgraph &G) 增加路径

12、int enverx(mgraph &G) 增加结点

13、int newgraph(mgraph &G) 更新景点的信息

14、int initgraph(mgraph& G) 校园导游图的初始化

15、void main( )主函数,可以调用子函数

16、exit(0) 退出程序

各程序模块之间的调用关系

主函数可调用子程序:1,2,3,4,5,8,14,16

子程序5可调用子程序:,7,8,9,10,11,12,13

子程序9,10,11,12,13可调用子程序:6

四、算法描述

Floyd算法

五、详细代码

见附录2

六、使用说明

1.校园导游图景点介绍(输出各景点信息):

应输出所有景点的信息,如下:

表1:建工各景点信息实际输出的信息为:

图1: 建工各景点信息操作成功,与预期结果一致。

2.打印校园导游图的邻接矩阵:

图2: 建工各景点邻接矩阵

操作成功,与预期结果一致。

3、查询景点间最短路径:

比如:

查询景点1(逸夫楼)和3(图书馆)之间的最短路径,预期结果应为:逸夫楼—> 教学楼A区—> 图书馆,

15 20

路径总长度为35

图3:景点间最短路径

操作成功,与预期结果一致。

4、景点信息查询:

比如:查询景点为1的景点信息,预期结果应为:

表2:景点信息1

图4:景点信息查询

与预期结果一致。查询成功。

5、更改图的信息:

更改图信息主页面:

图5:更改图信息主页面

比如重新建一个有3个景点和3条路径的无向图:景点信息分别为:

表3:景点信息2

矩阵关系为:

0 15 25

15 0 50

25 50 0

图6:重新建图a 图7: 重新建图b 与预期结果一致,重新建图成功。

比如删除景点编号为1的景点:

则输出的矩阵中应失去原第一行第一列,

并且其信息不再出现在校园导游中:

删除景点前的图的信息(见图1)

删除景点前的图的矩阵(见图2)

删除景点后的图的信息和矩阵:

图8:删除景点后的图的信息和矩阵

与预期结果一致,删除景点成功。

比如删除编号为0和2的两景点间的路径,则打印出来的矩阵在第0行第2列和第2行第0列的值应为0。

删除路径前的矩阵:(见图2)

删除路径后的矩阵:

图9: 删除路径后的矩阵

比如增加一个景点,其信息为:

表4:景点信息3

对应的矩阵中应增加一行一列,第10行和第10列上所有元素都应为0,输出的图信息中最后应增加上述的信息。

增加景点前的图信息:(见图1)

增加景点前的矩阵:(见图2)

增加景点后的图信息和矩阵:

图10: 增加景点后的图信息和矩阵

比如在景点0和4之间加一条长度为10的路径,则在第0行第4列与第4行第0列元素应为10。

增加路径前的矩阵:(见图2)

增加路径后的矩阵:

图11: 增加路径后的矩阵

与预期结果一致,增加路径成功。

比如要更新一个景点和一条路径的信息,将景点信息:

表5:景点信息4

改为:

表6:景点信息5

更改顶点编号为0和3路径长度,路径由30改为15。

更改后的图中编号为1的信息应变为表五;

矩阵中第0行第3列和第3行第0列元素应由30变为15. 更改景点前的图信息:(见图1)

更改路径前的矩阵:(见图2)

更新后的图信息和矩阵:

图12:更新后的图信息和矩阵

6、查找两顶点间的所有路径

比如查找1,3两点间的所有路径,所有路径为:

图13:两顶点间的所有路径

七测试成果

操作主界面

图14:操作主页面查看建工景点平面图(见图1)

打印无向图邻接矩阵(见图2)

查询两顶点间的最短路径(见图3)

按编号查询景点信息(见图4)

查询两顶点间的所有路径(见图14)

更改图信息:(见图5)

退出系统

图15:退出系统

附录1 组内成员分工情况说明

黄煜负责代码的核心算法的描写

范文浩负责问题的分析与代码的纠错源代码由两人共同思考完成

附录2程序实现代码

#include

#include

#include

#include

using namespace std;

#define max_ver_num 20

#define OK 1

#define FALSE 0

#define Error -1

#define A 1000

#define TRUE 1

typedef struct arcnode//设置边的权值信息

{

int adj;//路径权值

}arcnode,adjarcs[max_ver_num][max_ver_num]; typedef struct verdata//设置景点信息

{

int position;

char name[60];

char introduction[1000];

}verdata;

typedef struct mgraph

{

verdata vexs[max_ver_num];

adjarcs arcs;

int vernum,arcnum;

}mgraph;

//全局变量

int visited[20];

int d[35];

mgraph g;

int initgraph(mgraph& G)//校园导游图的初始化

{

int i,j;

G.vernum=10;

G.arcnum=20;

//初始化景点平面图

for(i=0;i

G.vexs[i].position=i;

strcpy(G.vexs[0].name,"土木教学楼");

strcpy(G.vexs[1].name,"逸夫楼");

strcpy(G.vexs[2].name,"行政楼");

strcpy(G.vexs[3].name,"图书馆");

strcpy(G.vexs[4].name,"教学楼A区");

strcpy(G.vexs[5].name,"教学楼B区");

strcpy(G.vexs[6].name,"教学楼C区");

strcpy(G.vexs[7].name,"南门");

strcpy(G.vexs[8].name,"实验楼");

strcpy(G.vexs[9].name,"文体中心");

strcpy(G.vexs[0].introduction,"吉林建筑大学特色建筑,楼高5层"); strcpy(G.vexs[1].introduction,"新建楼,楼高5层,内含学术报告厅"); strcpy(G.vexs[2].introduction,"校领导日常工作之处,楼高5层"); strcpy(G.vexs[3].introduction,"楼高5层,藏书逾十万");

strcpy(G.vexs[4].introduction,"楼高5层,学生学习自习地点"); strcpy(G.vexs[5].introduction,"楼高5层,学生学习自习地点"); strcpy(G.vexs[6].introduction,"楼高5层,学生学习自习地点");

strcpy(G.vexs[7].introduction,"建工南门,旁边是财经学院");

strcpy(G.vexs[8].introduction,"做实验的地点,楼高5层,内有大量先进实验仪器"); strcpy(G.vexs[9].introduction,"学生体育锻炼地点");

//初始化边矩阵

for(i=0;i

for(j=0;j

G.arcs[i][j].adj=A;

G.arcs[0][1].adj=15;

G.arcs[0][2].adj=25;

G.arcs[0][3].adj=30;

G.arcs[1][4].adj=15;

G.arcs[1][7].adj=20;

G.arcs[1][9].adj=40;

G.arcs[2][5].adj=10;

G.arcs[2][8].adj=15;

G.arcs[3][6].adj=30;

G.arcs[3][8].adj=20;

G.arcs[4][7].adj=10;

G.arcs[4][9].adj=60;

G.arcs[5][8].adj=25;

G.arcs[6][8].adj=50;

G.arcs[7][9].adj=35;

G.arcs[4][5].adj=20;

G.arcs[5][6].adj=25;

G.arcs[5][7].adj=30;

G.arcs[6][7].adj=15;

G.arcs[6][9].adj=20;

G.arcs[7][8].adj=40;

G.arcs[8][9].adj=10;

G.arcs[2][9].adj=15;

G.arcs[3][9].adj=30;

G.arcs[3][4].adj=20;

G.arcs[4][8].adj=10;

G.arcs[4][5].adj=60;

G.arcs[5][9].adj=25;

G.arcs[1][8].adj=50;

G.arcs[1][7].adj=35;

for(j=0;j

for(i=0;i

G.arcs[i][j].adj=G.arcs[j][i].adj;

return 1;

}

int locatevex(mgraph c,int v)//景点的定位

{

int i;

for(i=0;i

if(v==c.vexs[i].position)

return i;

return -1;

}

void printmatrix(mgraph G)//打印图的邻接矩阵;{

int i,j;

cout<<"对应的矩阵为:"<

for(i=0;i

{

for(j=0;j

if(G.arcs[i][j].adj

cout<

cout<

}

cout<

}

}

//求最短路径,弗洛伊德算法

void shortestpath_Floyd(mgraph *G)

{

int v,u,i,w,k,j,flag=1,p[10][10][10],D[10][10];//D路径

for(v=0;vvernum;v++)

for(w=0;wvernum;w++)

{

D[v][w]=G->arcs[v][w].adj;

for(u=0;uvernum;u++)

p[v][w][u]=0;

if(D[v][w]

{

p[v][w][v]=1;p[v][w][w]=1;

}

}

for(u=0;uvernum;u++)

for(v=0;vvernum;v++)

for(w=0;wvernum;w++)

if(D[v][u]+D[u][w]

D[v][w]=D[v][u]+D[u][w];

for(i=0;ivernum;i++)

p[v][w][i]=p[v][u][i]||p[u][w][i];

}

while(flag)

{

cout<<"请输入出发点编号:";

cin>>k;

cout<<"请输入目的地的编号:"<

cin>>j;

if(k<0||k>G->vernum||j<0||j>G->vernum)

{

cout<<"景点编号不存在!请重新输入出发点和目的地的编号:"; cout<<"请输入出发点编号:";

cin>>k;

cout<<"请输入目的地的编号:"<

cin>>j;

}

if(k>=0&&kvernum&&j>=0&&jvernum)

flag=0;

}

printf("%s",G->vexs[k].name);

for(u=0;uvernum;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]);

}

校园导游咨询程序设计报告

数据结构课程设计 设计题目:校园导游咨询 学院:信息学院 班级:计算机1008班 姓名: 学号: 20101221180 日期: 2012 年 3 月

校园导航问题 [问题描述] 设计一个校园导游程序,为来访的客人提供各种信息查询服务。 [基本要求] (1)设计所在学校的校园平面图,所含景点不少于十个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等信息。 (2)为来访客人提供图中任意景点相关信息的查询。 (3)为来访客人提供图中任意景点的问路查询,即查询任意两个顶点之间的一条最短的简单路径。 (4)校园导游图的景点和道路的修改扩充功能。 (5)扩充道路信息,如道路类别(车道、人行道),以致可按客人所需分别查询人行路径或车行路径。 (6)扩充每个景点的林洁景点的方向等信息,使得路径查询结果能提供详尽的导向信息。 (7)实现校园导游的仿真界面。

一、概要设计 (4) 二、详细设计 (6) 三、调试分析 (12) 四、调用关系 (12) 五、用户操作指南 (13)

[测试数据] 一、概要设计 1. 数据类型 #define V_MAX 20 #define E_MAX 200 typedef struct { char name[10];//名字 //char code[10];//代码 char info[20];//信息,简介 int x,y;//坐标 }VType;//顶点类型 typedef struct { int live;//标记是否存在,如果被删除则为0,存在为1 char name[10];// 路名 int length;//路的长度

某公园申报国家4A级旅游景区自查情况汇报

XX公园申报4A级旅游景区自查情况汇报 关键字:XX公园申报4A级旅游景区自查情况汇报 更新时间:2010-10-18 **市旅游局: 为提升景区品位,提高景区景观质量,员工服务水平和服务质量,规景区开发与管理,根据《旅游景区质量等级划分与评定》标准对AAAA级旅游区的要求,**文化主题公园拟申报AAAA级旅游区,并于2010年4月对照《旅游景区质量等级划分与评定》标准,开展了创建申报AAAA级旅游景区的自检自查工作。现将自查情况汇报如下: 一、基本情况 **文化主题公园占地面积8.5平方公里,集生态植被、峡谷、瀑布、溶洞、湖泊、溪流、壮族风情为一体,是国唯一生命文化主题公园。景区定位为“奇景观光、生命文化、水上娱乐、壮乡风情”,目前已开辟建设有图腾林、烧香石、雏凤堂、女儿湖等景点20余处。2007年4月正式对外开放,景区认真贯彻落实《旅游景区质量等级的划分与评定》标准的各项要求,坚持以诚信经营为基础,以服务游客为宗旨,努力提高景区景观质量、员工服务水平和服务质量。几年来,景区服务实现零投诉,游客综合满意率不断提升。 二、成立自检自查领导小组 旅游局及旅游公司高度重视创建申报工作,为确保创建申报工作的顺利实施,专门聘请旅游管理专家策划方案。并成立了以旅游局局长为组长,旅游公司总经理为副组长,景区管理处负责人及相关部门责任人为成员的申A创建工作领导小组,领导小组下设办公室,由凤凰谷风景区负责人为具体责任人,负责景区申报的各项筹备工作。 三、自检自查情况 创建工作领导小组于2010年4月15日按《旅游区(点)质量等级划分与评定》和《评分细则》对景区进行了自评,评分情况如下:服务与环境质量达到906分,景观质量达到87分,游客意见满意度达到95分,符合AAAA级旅游景区申报条

数据结构课程设计-校园导游图

齐齐哈尔大学 计控学院 数据结构课程设计 选题名称:校园导游图 系(院):计算机与控制工程学院 专业:软件工程 班级:软件121班 姓名:刘泽强 学号:2012023019 指导教师:吴迪 2014年7月1日

数据结构课程设计评分表 90~100为优,80~89为良,70~79为中,60~69为及格,60分以下不及格

目录 一、问题描述 (4) 二、程序设计 (5) 三、运行结果: (8) 四、总结 (11) 附录: (12)

一.问题描述 设计你所在的学校的校园平面图,所含景点不少于10个。以图中顶点表示校内各景点,存放景点的名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。 (2)为来访客人提供图中任意景点相关信息的查询。 (3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的最短的简单路径。

二、程序设计 1.用数据结构知识创建校园图。 void creatgraph(vexnode g[],int *n, EdgeType e[],adjmax *adj) //创建校园图 { int b,i,s,d,len; struct edgenode *p,*q; //定义图的结构体 2.手动给校园图赋上相关信息(景点名称、代号、简介),路径及路径长度。得到一个模拟的校园图: 图2.2 3.利用C语言知识编写查找景点相关信息的程序。 手动创建一个校园图creat(Matrix_Graph *G),然后为相应的边赋上真正的值。 主要代码: do{ printf("是否继续? Y/N");

scanf("%c",&ch); getchar(); if(ch == 'Y' || ch == 'y') //继续 { flag = 1; i = 1; printf("请输入您要查询的景点序号:\n"); scanf("%d",&len); getchar(); printf("此景点的名称是:"); Name(len); printf("此景点的介绍是:"); Information(len); 4.利用迪杰斯特拉算法计算任意两点之间的最短路径。 用path函数来求任意两景点之间的最短路径。 while(c<=N) { t=MAX; for(i=1;i<=N;i++) if(flag[i]&&G->arcs[s][i]arcs[s][i];v=i;r[v][1]=v;} for(i=1;i<=c;i++) for(j=1;j<=N;j++) if(flag[j]&&d[i]+G->arcs[T[i]][j]arcs[T[i]][j];v=j; if(r[v][0]!=-1) { u=1; while(r[T[i]][u]!=0) { r[v][u]=r[T[i]][u];u++;} } r[v][u]=v;

校园导游系统设计与实现

校园导游系统设计与实现

目录 1.设计要求 2.1需求分析 2.2概要设计 2.3各个模块名称和功能 2.4 系统导游主界面 2.4.1前台系统 2.4.2后台系统 2.4.3退出系统 3实验总结 参考文献 附件

1.设计要求 设计一个校园导游程序,为来访的客人提供各种信息查询服务。 2.1需求分析 ⑴设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图(无向网),所含景点不少于30 个。以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。 ⑵存放景点代号、名称、简介等信息供用户查询。 ⑶为来访客人提供图中任意景点相关信息的查询。 ⑷为来访客人提供图中任意景点之间的问路查询。 ⑸可以为校园平面图增加或删除景点或边,修改边上的权值等。 景点距离图 2.2概要设计

校园旅游模型是由景点和景点之间的路径组成的,所以这完全可以用数据结构中的图来模拟。用图的结点代表景点,用图的边代表景点之间的路径。所以首先应设计一个图类。结点值代表景点信息,边的权值代表景点间的距离。结点值及边的权值用顺序表存储,所以需要设计一个顺序表类。本系统需要查询景点信息和求一个景点到另一个景点的最短路径长度及路线,为方便操作,所以给每个景点一个代码,用结构体类型实现。计算路径长度和最短路线时可用迪杰斯特拉(Dijkastra)算法实现。最后用switch 选择语句选择执行浏览景点信息或查询最短路径。 1、主界面设计 为了实现校园导游系统各功能的管理,首先设计一个含有多个菜单项的主控菜单子程序以链接系统的各项子功能,方便用户使用本系统。 2、存储结构设计 本系统采用图结构类型(mgraph)存储抽象校园图的信息。其中,各景点间的邻接关系用图邻接矩阵类型(adjmatrix)存储;景点(顶点)信息用结构数组(vexs)存储,其中每个数组元素是一个结构变量,包含景点编号、景点名称及景点介绍三个分量;图的顶点个数及边的条数由分量vexnum、arcnum 表示,它们是整型数据。 3、系统功能设计 本系统除了要完成图的初始化功能外还设置了9个子功能。图的初始化由initgraph()函数实现。依据读入的图的顶点个数和边的条数,分别初始化图结构中图的顶点数组和图的邻接矩阵。9个子功能的设计描述如下。 ⑴景点信息查询 景点信息查询由函数seeabout()实现。该功能根据用户输入的景点编号输出该景点的相关信息。如景点编号、名称等。 ⑵学校景点介绍 学校景点介绍由函数browsecampus()实现。当用户选择该功能,系统即能输出学校全部景点的信息:包括景点编号、景点名称及景点介绍。 ⑶相邻的景点及其距离 为使游客能够知道其周围的景点和路径,方便他们迅速知道其所在位置和周围信息 ⑷查看浏览线路 查看浏览线路由函数shortestpath_dij()实现。该功能采用迪杰斯特拉(Dijkstra)算法实现。当用户选择该功能,系统能根据用户输入的起始景点编号,求出从该景点到其他景点的最短路径线路及距离。当用户选择该功能,系统能根据用户输入的起始景点及目的景点编号,查询任意两个景点之间的最短路径线路及距离。 ⑸更改图信息 修改一个已有景点的相关信息、删除一个景点及其相关信息、删除一条路径、加一条路径、修改路径长度、添加一个景点 ⑹数据安全防范 设置密码,能保证数据不会被随便更改,由pass()判定密码是否正确,可由changepw()函数修改密码,初始密码为gdufsx ⑺写入文件并保存修改 打开该软件,若没有graph.txt,则会由系统初始化生成一个graph.txt,若已存在该文档会由该文档中的内容初始化系统。 ⑻恢复初始状态 若数据已经显得很杂乱并很难修理,就可以启用这个功能

校园导游程序

洛阳理工学院 课程设计报告 课程名称数据结构课程设计 题目校园导游程序

课程设计任务书 1、设计题目:校园导游程序 2、设计内容与要求: [问题描述] 用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。[基本要求] (1)查询各景点的相关信息; (2)查询图中任意两个景点间的最短路径。 (3)查询图中任意两个景点间的所有路径。 (4)增加、删除、更新有关景点和道路的信息。 课程设计评语 成绩: 指导教师:_______________ 年月日

3、流程图 4、模块划分 (1)主函数:void main( ) (2)void CreateUDN(int v,int a); /* 造图函数*/ (3)void narrate(); /*说明函数*/ (4)void ShortestPath(int num); /*最短路径函数*/ (5)void output(int sight1,int sight2); /*输出函数*/ (6)char Menu(); /* 主菜单*/ (7)void search(); /* 查询景点信息*/ (8)char SearchMenu(); /* 查询子菜单*/ (9)void HaMiTonian(int); /*图的遍历*/ (10)void Searchpath1(MGraph g);/*查询两个景点间的所有路径*/ (11)void disppath(MGraph g,int i,int j); (12)void path(MGraph g,int i,int j,int k);/*确定路径上第k+1个顶点的序号*/(13)void NextValue(int); (14)void display(); /* 显示遍历结果*/ (15)int Addnewsight(int n); /*添加新的景点和路径*/

关于学校导游词作文五篇

关于学校导游词作文五篇 导游词的宗旨是通过对旅游景观绘声绘色地讲解、指点、评说,帮助旅游者欣赏景观,以达到游览的最佳效果。下面是小编搜集的关于学校导游词作文五篇,希望对你有所帮助。 关于学校导游词作文(一) 大家好!我是三小的一名小导游员,我叫小李。今天由我带领大家去参观我们的学校——xx山市第三小学。希望我的介绍能给大家带来轻松和快乐。 我们学校位于xx山市中央大街中段。占地面积2万多平米。2幢色彩明快的教学楼南北并立,有学生一千三百多人,九十八名教师,三十三个教学班,他们是朝气蓬勃、团结向上的集体。 现在我将带领大家参观我们的南楼,南楼分四个楼层,一层是我们学校的幼儿园,二、三四层分别是一年、三年、四年三个年部,我们学校注重学生特长的培养,瞧,走廊版画就是我校学生的美术作品,看出我们学生的美术功底,南楼还有三个光盘播放室,一个卫星接收室,看,平时我们学生就要到这里上课,老师利用课程资源向大家展示丰富多彩的内容,同学们非常喜欢这样。看,这是我们学校的微机教室,平时各班同学有课便会来到这里,学习有关电脑知识,与现代技术靠近。 下面我将带大家参观我们的北楼,北楼的走廊更具有特色,有中外名家展板和世界一流大学的概况,从中可以看出学校为了我们的健康成长,花费了许多心思。从小让我们树立远大志向。看,这张书法家竹石图,竹子细挺有韧性,因为竹子虚心自强,生而有节,就像我们三小人一样谦虚向上,更具有生命力。 我们这座教学楼里更有特色的还有古筝室、扬琴室。每当训练时,教室里就会传出悠扬的琴声和清脆典雅的乐曲声,让我们感受到孩子的潜力是广大的。看,这些都是我们的学生教室,教室内布置学校基本上整齐划一,我们每天在宽敞明亮的教室里学习,心情格外舒畅。 不知不觉,我们已参观完毕,也相信大家对我们学校有了充分的了解,我作为一名小学生,我喜欢我的学校,也希望大家喜欢。谢谢今天与大家的合作。 关于学校导游词作文(二)

校园导游系统程序__课程设计_报告

1、需求分析 设计一个校园导游系统程序,为来访的客人提供各种服务的信息查询。 (1).设计工商学院校园无向图,所含的景点不少于10个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。 (2).为来访客人提供图中任意景点相关信息的查询。 (3).为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。 2、设计思路 校园旅游模型是由景点和景点之间的路径组成的,所以这完全可以用数据结构中的图来模拟。用图的结点代表景点,用图的边代表景点之间的路径。所以首先应设计一个图类。结点值代表景点信息,边的权值代表景点间的距离。结点值及边的权值用顺序表存储,所以需要设计一个顺序表类。本系统需要查询景点信息和求一个景点到另一个景点的最短路径长度及路线,为方便操作,所以给每个景点一个代码,用结构体类型实现。计算路径长度和最短路线时可用弗洛伊德(Floyd)算法实现。最后用switch选择语句选择执行浏览景点信息或查询最短路径。 3 算法设计 3.1 概要设计 3.1.1 程序中包含的模块 (1)主程序模块 主函数:void main(void) void cmd(void) cmd修改显示框大小,字体背景颜色,初始化景点,景点信息 打印菜单, MGraph InitGraph(void); //初始化图。 MGraph * CreatUDN(MGraph *G);//初始化图形接受用户输入 void Menu(void);//菜单函数 void Browser(MGraph *G);//浏览函数 void ShortestPath_DIJ(MGraph *G); void Floyd(MGraph *G);//查询图中任意两个景点间的所有路径 void Search(MGraph *G);//查找函数 int LocateVex(MGraph *G,char*v); // 迪杰斯特拉算法计算起点各顶点间短

某数据结构课程设计公园导游图

实验四:图(内容:某公园导游图) 一、问题描述: 公园导游系统:给出一张某公园的导游图,游客通过终端询问可知︰从某一景到另一景点的最短路径。游客从公园大门进入,选一条最佳路线,使游客可以不重复地游览各景点,最后回到出口(出口就在入口旁边)。 二、设计描述: 1.输入导游图的算法(存储方法).本程序特地设计函数void initgraph()用于实现键盘输入图的结构; 2.可访问导游图中任一景点的算法.为此设计了函数void vist(GraphMatrix graph)用于实现访问任一景点的信息; 3.最短路径从一景点到另一景点的算法。利用floyd算法-实现每一对景点间的最短路径。 并利用void outgraph()函数实现显示起始点和终点间的最短路径和其长度; 三、程序清单: #include using namespace std; #include #define MAXVEX 100 #define MAX 999 typedef char VexType; typedef float AdjType; typedef struct //定义图结构 { int n; /* 图的顶点个数 */

VexType vexs[MAXVEX]; /* 顶点信息 */ AdjType arcs[MAXVEX][MAXVEX]; /* 边信息 */ } GraphMatrix; GraphMatrix graph; //定义一个图graph typedef struct //定义最短路径ShortPath结构 { AdjType a[MAXVEX][MAXVEX]; /* 关系矩阵A,存放每对顶点间最短路径长度 */ int nextvex[MAXVEX][MAXVEX]; /* nextvex[i][j]存放vi到vj最短路径上vi的后继顶点的下标值 */ } ShortPath; ShortPath path; //定义路径path void floyd(GraphMatrix * pgraph, ShortPath * ppath) //floyd算法-用于实现每一对景点间的最短路径 { int i, j, k; for (i = 0; i < pgraph->n; i++) for (j = 0; j < pgraph->n; j++) { if (pgraph->arcs[i][j] != MAX) ppath->nextvex[i][j] = j; else ppath->nextvex[i][j] = -1; ppath->a[i][j] = pgraph->arcs[i][j]; } for (k = 0; k < pgraph->n; k++) for (i = 0; i < pgraph->n; i++) for (j = 0; j < pgraph->n; j++) { if ( ppath->a[i][k] >= MAX || ppath->a[k][j] >= MAX )

(校级成果)一年级-校园小导游

(校级成果)一年级-校园小导游

北京市东邵渠镇中心小学 综合实践活动课——校园小导游 (一年级) 主编:张燕徐洪侠彭喜红 实施时间:2017-2018学年第一学期

亲爱的小朋友: 你好!首先,恭喜你长大了,成为了一名一年级的小学生。相信你肯定很喜欢我们美丽的吧,那么,你想不想把这么美丽的校园介绍给你的小朋友们呢?这门以《校园小导游》为主题的综合实践活动课将带你进入一个丰富多彩的天地。课程共九个学时,分三个子课题,每个子课题三个学时:一、认识校园。老师将带你全面的认识我们的校园,并指导同学们画出本门课程的思维导图;二、画笔下的校园。同学们通过自有分组,游园观察等方式,用美妙的画笔描绘出美丽的校园;三、校园导游。在前两个子课题的基础上,同学们通过商议导游词、布置班级文化等环节,以介绍班级为中心进行一次导游实践。希望通过本次课程的实施,同学们更加地热爱我们的校园、了解我们的校园,在这里健康快乐地成长。

学生成果预设 通过各个活动环节,学生对自己的学校形成一定的了解,产生自己身在学校而自豪的情感,从而更加热爱自己的学校,热爱自己的祖国。培养学生组织、表达、观察、动手实践的能力,形成自主探索、合作交流的意识,培养学生为自己能生活在这个美丽的校园而感到自豪的情感,同时培养学生综合实践能力,增强学生对课程的喜爱。 课程评价1.个人评价(在符合要求的下面画“√”) 我是否喜欢上这样的活动课是否 我在课上的收获多少没有 我的思维状态兴奋一般不好 我参与小组活动积极一般不够积极2.小组评价(在符合要求的下面画“√”) 课堂上的参与程度很高较高一般不高课堂上的总体表现优良合格待合格3.教师评价:学生在课堂上表现出的主动探索的态度 高较高一般

数据结构校园导游咨询系统课程设计报告及课程总结

姓名: 班级: 学号: 指导教师: 2012年12月

目录 1、需求分析 (1) 1.1 系统简介 (1) 1.2 系统功能模块介绍 (1) 2、概要设计 (2) 2.1 系统功能结构图 (2) 2.2 系统流程图 (2) 2.3 主要函数概要设计 (3) 2.3.1 主函数概要设计 (3) 2.3.2 初始化图函数InitGraph() (4) 2.3.4 查询景点信息函数设计SearchGraph() (4) 2.3.5 显示图中信息函数设计ShowGraph() (4) 2.3.6 弗洛伊德算法函数设计Floyd() (5) 3、详细设计 (5) 3.1 主函数详细设计 (5) 3.2初始化图函数详细设计InitGraph() (6) 3.3查询景点信息函数详细设计SearchGraph() (7) 3.4 弗洛伊德算法函数详细设计Floyd() (8) 4、调试分析 (9) 4.1 显示主界面函数测试 (9) 4.2 查找两景点间最短路径测试 (10) 4.3 查看景点信息测试 (11) 5.课程设计总结 (12) 6、附录 (13)

1、需求分析 1.1 系统简介 随着现代社会生活节奏的加快,人们外出旅行以寻求放松的时间越来越多。考虑到游客不可能对所有景点都有所了解,因此可能无法找到游玩景点最省时,最高效的路径,而人工导游成本又过高,故使用C语言,基于《数据结构》中图的相关算法开发了“江西农业大学校园咨询系统”。 开发本系统目的在于为来访我校的游客提供一条最短游览路径,本系统从实际出发,通过对校园平面图的分析,将其转化为数据并保存在系统中,因此系统提供的路径具有较大的可信性。 本系统界面友好,提示信息充分,在实际使用过程中运行良好。 1.2 系统功能模块介绍 本系统主要分为以下三大功能模块: 1、查询两景点最短路径:用户在选择此功能模块后,按照屏幕上方提示的景点名称及其对应的编号,要求用户输入起点和终点的编号,系统将在已存储的景点中进行匹配,若未找到所需查询的景点编号,系统将提示错误并要求用户再次输入。若输入信息合法,则回车后系统将给出最短路径,显示于屏幕上方; 2、查询景点信息:用户在选择此功能模块后,按照屏幕上方提示的景点名称及其对应的编号,要求用户输入想要查询的景点的编

数据结构课程设计——校园导游图

景德镇陶瓷学院 信息工程学院 班级:12计科(2)班 学号:201210510216 姓名:乐升平 指导老师:林卫中 时间:2014年6月18号 题目:校园导游图 校园导游图 1.1、需求分析: 需求: (1)将导游图看作一张带权无向图,顶点表示公园的各个景点,边表示各景点之间的道路,边上的权值表示距离。为此图选择适当的数据结构。 (2)把各种路径都显示给游客,由游客自己选择游览路线。 (3)画出景点分布图于屏幕上。 分析: 完成对整个导游图系统的功能实现,需要对的每一项功能都有清楚的设想和认识,了解并明确每一项功能的实现需要解决的问题,选择正确并且高效的算法把问题逐个解决,最终实现程序的正确调试运行。有以下设计思路:(1).结合本校的实际情况,选出10个景点; (2).人为手工为选出的10个景点赋上相关信息(名称、代号、简介信息、以及路权等等); (3).根据选出来的10个景点用邻接矩阵存储校园图。 (4).依照景点的相关信息创建校园图。 (5).把纸质上的内容,利用C++编程语言编写查找景点相关信息的程序。 (6).根据人为赋值的路权,迪杰斯特拉算法计算任意两点之间的最短路径。 (7).综上所诉,用一个主函数把这些板块合成,生产一个菜单界面呈现在用户面前。 1.2、设计与实现:

选出本校10个景点 结合景德镇陶瓷学院实际情况,我选出以下10个景点,从1到10编号: 编号 名称 编号 名称 编号 名称 编号 名称 1 研究生楼 2 二食堂 3 10#宿舍 4 主教学楼 5 毕业礼堂 6 主阶 7 一食堂 8 A 系列楼 9 B 系列楼 10 图书馆 11 科艺楼 12 科阶 13 篮球场 14 田径场 15 游泳池 16 体育馆 17 翠湖 18 校门口 图的初始化 由于邻接矩阵特殊的存储方式,它非常便于快速的查找两个顶点之间的边上的权值。所以,图采用带权的邻接矩阵存储。 决定了图的存储方式后,以华南农业大学18个景点的游览地图作为蓝本,把校园地图抽象化成顶点与边构成的图形式,如图所示 研究生楼 二食堂 10 主教学楼 毕业礼堂 主阶 一食堂 A 系列楼 B 系列楼 图书馆 科艺楼 科阶 篮球场 田径场 研究生楼 10#宿舍 A 系列楼 篮球场 毕业礼堂 主教学楼 科艺楼 一食堂 二食堂 主阶 B 系列楼 图书馆 科阶 田径场

校园导游词(500字)作文

精选作文:校园导游词(500字)作文亲爱的游客们:大家好!我是你们的导游,我叫程思颖,大家可以叫我程导。我现在带你们去唐家小学参观,祝您能玩得开心,玩得尽兴,玩得满足。接下来,我先向各位介绍一下校园的概况。唐家小学位于珠海市唐家镇。最特别的要数我们学校的塑胶跑道,相传塑胶跑道是由唐绍仪的孙女唐荣捐了几百万而建的。教学班一共有24个,大约有一千两百人。还有2栋教学楼和1栋办公楼呢!大家跟着我走进大门,首先映入眼帘的当然是操场了!跑道共长200米,跑道内绿草如茵。大家再跟着我继续往前走,现在你们看到的地方叫做植物园,这里草翠花开、鸟语花香。一下课,这里就会有非常多的小学生,他们有的在树荫下乘凉,有的在追逐打闹,还有的在看书呢!大树笔直笔直的,花朵有黄的、有粉的、有红的、有白的&&真是五彩缤纷啊!树舒展开了黄绿嫩叶的枝条,在微微的春风中轻柔地拂动,就像一群群身着绿装的仙女在翩翩起舞。夹在柳树中间的桃树也开出了鲜艳的花朵,绿的柳,各色的花,真是美极了!好了,大家现在可以自由参观了,大家半个小时后在校门口集合,要注意以下几点要求:1、不要乱扔垃圾;2、不要乱涂乱画;3、不要大声喧哗。五年级:听海1314 篇一:学校导游词范文 “xx小学”导游词 嗨!大家好!我是四年级xxx班的小学生,今天由我带领大家去参观我的学校——平遥xxx小学,相信你一定会大饱眼福的。平遥xxx小学是全平遥县xxx的xxx小学,她座落在--------,建校已有x 年的历史。 一到校门口,首先映入眼帘的是“平遥县xxx小学”x个金光闪闪的大字。辛勤的工作人员在校门口栽种了许多花草,春天来到时,它们定会用最动人的笑脸欢迎你的到来。 现在,让我们进校园里瞧瞧吧! 在教学楼的篇二:学校导游词 《导游实务》大型作业 学号:113090224 班级:11导游姓名:沈丹丹成绩:___________ 游览线路:学校简介——图书馆——行政楼——创业街——食堂——学生公寓 各位同学,大家好,欢迎大家来到这所学校——宁波城市职业技术学院,我是你们这次的导游,首先请允许我做一下自我介绍,我叫沈丹丹,大家可以叫我小沈,那接下来就由我来介绍下这所学校的概况,宁波城市职业技术学院,位于浙江宁波,是经浙江省人民政府批准,在原宁波大学职业技术教育学院的基础上组建的独立设置的公办普通全日制高等院校。学院由宁波大学、宁波市教育局共同投资建设,由宁波市领导和管理。学院现有教职工383人,其中专任教师264人,教师职称结构、年龄结构、学历结构合理。目前全日制在校生7133人,其中本科生1063人。学院下设商贸学院、信息学院、财金学院、旅游学院、外国语学院、国交学院、艺术学院、景观生态学院、成人教育学院9个二级学院。它的前身是宁波大学职业技术教育学院。 宁波城市职业技术

校园导游系统程序

课题五:校园导游程序 1)问题描述 用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。 2)基本要求 (1)查询各景点的相关信息; (2)查询图中任意两个景点间的最短路径。 (3)能够将图的信息保存到文件中,并指定文件打开。 (4)增加、删除、更新有关景点和道路的信息。 附加难度:有余力的同学可以考虑用图形界面实现寻址的过程 3) 设计思想 核心数据结构定义一个图,将图保存后,对图进行面向指定节点到各个节点的最短路径的操作。可以再文件中保存多个导游图,例如保存学校图、芜湖市图等文件。开始时选择文件,将指定文件中的信息导入到内存的图中。 #define Infinity 1000 #define MaxVertexNum 35 #define MAX 40 #include #include #include #include #include #include typedef struct arcell //边的权值信息 { int adj; //权值 }arcell,adjmatrix[MaxVertexNum][MaxVertexNum]; //图的邻接矩阵类型 typedef struct vexsinfo //顶点信息 { int position; //景点的编号 char name[32]; //景点的名称 char introduction[256]; //景点的介绍 }vexsinfo; typedef struct mgraph //图结构信息

幼儿园大班学习活动公园导游图范文

教学资料参考范本 幼儿园大班学习活动:公园导游图范文 __________________ 撰写人:

__________________门:部 __________________间:时 1 / 6 设计思路: 在最近开展的“我的城市”主题活动中,幼儿关注的焦点从中国到上海,从黄浦江、东方明珠、高架路到星罗棋布的公园、绿地。他们对自己幼儿园的位置、家的所在地及周边熟悉的设施、路名都很热衷于去看一看、找一找。我园遵循生活教育的理念,提倡让幼儿从自己身边开始,与周边环境互动。我们居住的社区和幼儿园附近有一个小公园——东安公园,班里一半以上的幼儿都去过。所以,我选择了东安公园的导游图作为活动的载体:一是因为幼儿对公园比较熟悉,二是因为公园大小合适幼儿后期的真实体验。 整个教学活动主要分为三个流程:寻找游玩地点(东安公园)——观察公园导游图——根据要求,设计游玩路线。在寻找幼儿园位置的过程中充分调动幼儿已有的生活经验:观察导游图引发幼儿对各种图示、标志的经验,交流、关注身边的事物;自主设计游玩路线,这对刚升

人大班的幼儿是一种挑战,因为其中整合了空间方位、时间安排、生活习惯等要素,在师生、生生的互动中使幼儿在计划一件事情的时候能有更周全、更合理的思维方式。幼儿间的差异也是一种学习资源,幼儿尝试用符号表示路线的不同方法、有条理地介绍自己的想法,都是教师要捕捉的有价值的经验点。活动的延伸部分,我还在个体学习活动中让幼儿设计从不同的门进入、出来,引导幼儿经验的迁移。让他们能在以后的实际生活中学会运用,为生活带来方便。 活动目标: 2 / 6 1.看看、说说东安公园导游图,了解图示、标志在我们生活中的作用和意义。 2.尝试设计游玩路线,用符号、语言清楚地记录、表达自己的想法。活动准备: 1.材料准备:PPT、上海地图的局部图、东安公园导游图、彩笔每组一盒。 2.经验准备:幼儿有去公园游玩的经历,熟悉周边环境、设施。 活动过程: 一、寻找游玩地点——东安公园 通过在周边地图上找找东安公园在哪里,引导幼儿回忆,并借助图示进行有效观察。 1.引出话题:东安公园在哪里?

校本课程小导游教案:-五年级小导游

了解小导游 教学内容:了解小导游 教学目标:1、学生了解小导游课程及学习安排。 2、明确小导游的功能和意义。 教学过程: 一、激发兴趣,导入课题 1、教师:我们的学校坐落在仙岩风景区门口,大家有没有去过仙岩风景区?你们知道关于仙岩风景区的哪些景点和传说故事? 学生分享自己的经历和见解。 2、介绍仙岩风景区。 3、师生共同介绍和补充风景区的知识。 二、了解小导游课程 1、介绍小导游。 2、本学期小导游的课程安排。 3、本学期的任务。 三、总结 很多小朋友的对仙岩风景区有了了解,现在,有知道了我们小导游课的安排,希望通过我们的共同学习,大家都能成为优秀的小导游。 四、布置作业 了解关于仙岩风景区的景点知识。

小导游自我介绍 教学内容:小导游自我介绍 教学目标:1、学生能以小导游的身份介绍自己。 2、在介绍自己的过程中感受作为小导游的骄傲,体会 语言的艺术感和幽默感。 教学过程: 一、激发兴趣,导入课题 1、教师:上节课你们知道了很多关于仙岩风景区的传说故事 。现在你们都要变身成为小导游。如果客人来了,你要用你的知识告诉旅客朋友们,仙岩风景区到底有哪些传说故事呢?你们想当骄傲的小导游吗? 2、同桌讨论:你觉得小导游应该是怎么样的? 3、师生共同总结:语言流畅,具有丰富的关于风景区的知识和幽默感。 二、介绍自己 1、如果你是小导游,在见到游客时,你该怎么介绍自己呢。 2、编辑自己的介绍词。 三、总结 我看到很多小朋友的导游词非常有意思,既展现出了你的特征,让别人深深记住了你,觉得你是一个非常幽默的小导游。我相信那些游客朋友在一路上一定不会无聊。 四、布置作业

把你的介绍词读给你的爸爸妈妈听听,是不是介绍出自己的特点了呢?

校园导游程序设计知识讲解

《数据结构课程设计》报告 课题名称:校园导游程序 专业: 班级: 学号: 姓名: 2012 年12 月31 日

目录 目录 (1) 1 前言 (2) 2需求分析 (3) 3概要设计 (3) 4详细设计 (3) 5源代码及调试 (3) 6特殊问题解决方法 (8) 7使用说明及测试结果 (9) 8结论 (11) 9总结与体会 (11) 10参考文献 (11)

1 前言 1.1 课题简介 课程设计题目名称: 校园导游程序 课程设计目的: 通过《数据结构》课程的学习,将数据结构应用在具体的编程方面,更加了解课程所学习的内容及思维逻辑。 课程设计意义: 利用数据结构课程设计,了解学生对《数据结构》的理解和加强学生对数据结构方面的应用知识。希望今后学生好好利用数据结构的知识和思想,解决各方面的编程难题。课程设计内容: 实现存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。为来访客人提供图中任意景点相关信息的查询。为来访客人提供景点的问路查询,即已知一个景点,查询到某景点之间的一条最短路径及长度。 课程设计预期实现效果: (1)设计学校的校园平面图,所含景点不少于10个,以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。 (2)为来访客人提供图中任意景点相关信息的查询。 (3)为来访客人提供景点的问路查询,即已知一个景点,查询到某景点之间的一条最短路径及长度。 1.2 方案及其论证 语言:C++ 运行环境:Microsoft Visual C++ 6.0 可行性分析:模拟一个小型的计算器界面,能够输入数学表达式并计算出表达式的结果。

校园导游服务咨询系统C++(含源代码)说明书---2015

计算机科学与技术教研室 课程设计说明书(2014-2015学年第1学期) 注:成绩均用百分制。总成绩=平时成绩*20%+报告成绩*40%+演示与答辩成绩*40%

设计题目:校园附近门店服务查询系统 1、课程设计目的 (1)数据结构课程设计是综合运用数据结构课程中学到的几种典型数据结构,以及程序设计语言(C++语言),自行实现一个较为完整的应用系统。 (2)通过系统分析、系统设计、编程调试,写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用。 (3)学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。 1)熟练掌握链表存储结构及其建立过程和常用操作; 2)学会自己调试程序的方法并掌握一定的技巧; 3)通过温习旧的知识,学习新知识,并提高分析和解决问题的能力。 2、课程设计正文 2.1概要设计 2.1.1 系统分析 该系统主要功能包括:增添服务信息、查询服务信息、修改服务信息、删除服务信息以及推荐路径等。 1.主程序模块:连接各种功能子模块,使用循环等待用户操作,完成程序的基本操作实现功能。 2.菜单显示模块:生成每个菜单的显示界面,使程序更简单清晰。 3.查询服务信息:用户在选择此功能模块后,按照屏幕上方提示的服务信息名称及其对应的编号,要求用户输入想要查询的服务信息的编号,回车后系统将在已存储的服务信息中进行匹配,若该景点信息尚未存储则将提示错误;若找到对应信息则系统将输出服务信息,显示于幕上方。 4.查询两服务信息最短路径:运用弗洛伊德算法,用户在选择此功能模块后,按照屏幕上方提示的服务信息名称及其对应的编号,要求用户输入起点和终点的编号,系统将在已存储的景点中进行匹配,若未找到所需查询的服务信息编号,系统将提示错误并要求用户再次输入。若输入信息合法,则回车后系统将给出最短路径,显示于屏幕上方。 5.删除服务信息:用户操作功能模块,由主程序直接调用的函数模块,将功能具象化,系统工具函数模块,先查找到所存在的服务信息,然后对用户希望删除的服务信息进行删除操作,若所要删除的服务信息不存在,则输出不存在此服务信息。

某数据结构课程设计公园导游图

实验四:图(内容:某公园导游图) 一、问题描述: 公园导游系统:给出一张某公园的导游图,游客通过终端询问可知:从某一景到另一景点的最短路径。游客从公园大门进入,选一条最佳路线,使游客可以不重复地游览各景点,最后回到出口(出口就在入口旁边) 。 、设计描述: 1. 输入导游图的算法(存储方法) .本程序特地设计函数void initgraph() 用于实现键盘输入图的结构; 2. 可访问导游图中任一景点的算法.为此设计了函数void vist(GraphMatrix graph) 用于实现访问任一景点的信息; 3. 最短路径从一景点到另一景点的算法。利用floyd 算法-实现每一对景点间的最短路径。 并利用void outgraph() 函数实现显示起始点和终点间的最短路径和其长度;三、程序清单: #include using namespace std; #include #define MAXVEX 100 #define MAX 999 typedef char VexType;

typedef float AdjType; typedef struct { int n; VexType vexs[MAXVEX]; AdjType arcs[MAXVEX][MAXVEX]; } GraphMatrix; GraphMatrix graph; int i, j, k; fOr (i = 0; i < pgraph->n; i++) fOr (j = 0; j < pgraph->n; j++) { if (pgraph->arcs[i][j] != MAX) ppath->nextvex[i][j] = j; else ppath->nextvex[i][j] = -1; ppath->a[i][j] = pgraph->arcs[i][j]; } for (k = 0; k < pgraph->n; k++) for (i = 0; i < pgraph->n; i++) for (j = 0; j < pgraph->n; j++) { if ( ppath->a[i][k] >= MAX || ppath->a[k][j] >= MAX ) continue; //定义图结构 /* 图的顶点个数 */ /* 顶点信息 */ /* 边信息 */ //定义一个图 graph typedef struct { AdjType a[MAXVEX][MAXVEX]; int nextvex[MAXVEX][MAXVEX]; } ShortPath; ShortPath path; //定义最短路径ShOrtPath 结构 /* 关系矩阵 A ,存放每对顶点间最短路径长度 */ /* nextvex[i][j] 存放 vi 到 vj 最短路径上 vi 的后继顶点的下标值 */ //定义路径 path vOid flOyd(GraphMatrix * pgraph, ShOrtPath * ppath) //flOyd 算法 -用于实现每一对景点间的最短路径

校园导游咨询系统源代码

#include//standard library标准库头文件 #include//标注输入输出函数头文件 #include//字符函数头文件 #define MAX 10000 //定义路程最远距离符号常量无穷大 #define MAX_VERTEX_NUM 10//定义的景点/顶点数量符号常量最大顶点数10个 typedef struct //定义一个结构体用于表示路径 { int adj; //路径长度权值 }Ar,Ad[10][10];//起点和终点变量名 typedef struct //定义一个结构体用于存放景点信息 { char name[30];//景点名 int num;//景点编号 char introduction[100];//景点介绍 }infotype;//景点信息变量名 typedef struct//用来定义一个图 { infotype vexs[10]; Ad arcs; int vexnum,arcnum; }MGraph; MGraph b; MGraph InitGraph()//初始化图形 { MGraph G; int i; int j;

G.vexnum=10; G.arcnum=10; for(i=0;i

相关文档
最新文档