文档视界 最新最全的文档下载
当前位置:文档视界 › 数据结构校园导游程序设计

数据结构校园导游程序设计

数据结构校园导游程序设计

一、引言

在现代社会中,校园导游已经成为了大学生活中不可或缺的一部分。为了更好地服务于广大学生和参观者,我们需要设计一个数据结构校园导游程序,以便更好地帮助他们快速准确地了解校园环境和历史文化。

二、需求分析

1. 功能需求

(1)能够提供校园地图和景点介绍;

(2)能够提供路线规划和导航功能;

(3)能够提供实时天气信息和交通状况;

(4)能够提供用户反馈功能。

2. 性能需求

(1)响应速度快,界面友好;

(2)数据准确性高,更新及时性强;

(3)支持多平台使用,如PC端、移动端等。

三、系统设计

1. 数据结构设计

(1)图:用于存储校园地图信息及景点之间的关系;

(2)队列:用于存储路线规划过程中的所有可能路径,并进行优先级排序;

(3)堆:用于实现最短路径算法中的优先级队列。

2. 系统架构设计

整个系统采用B/S架构,前端采用HTML、CSS、JavaScript等技术,后端采用Java语言和Spring框架。系统后台采用MySQL数据库进

行数据存储和管理。

四、功能设计

1. 校园地图和景点介绍

用户可以通过校园地图查看校园内的各个景点,并了解每个景点的详

细信息。同时,用户还可以通过搜索功能查找指定景点。

2. 路线规划和导航功能

用户在选择起始点和目的地后,系统会自动计算出最短路径,并提供

导航功能。同时,系统还会提供多条路线供用户选择。

3. 实时天气信息和交通状况

系统会实时获取天气信息和交通状况,并在界面上显示给用户。这样,用户可以更好地安排行程。

4. 用户反馈功能

用户可以通过反馈功能向管理员反映问题或提出建议,管理员会及时

处理并回复。

五、界面设计

整个系统的界面设计应该简洁明了,易于操作。主要分为以下几个模块:

(1)首页:展示校园地图和各个景点;

(2)搜索页:提供搜索功能;

(3)路线规划页:提供路线规划和导航功能;

(4)天气页:展示实时天气信息;

(5)反馈页:提供用户反馈功能。

六、测试与优化

在完成系统开发后,需要进行测试和优化。主要包括以下几个方面:(1)功能测试:对系统进行全面的功能测试,确保系统能够正常运行;(2)性能测试:对系统的响应速度、数据准确性等进行测试;

(3)用户体验优化:根据用户反馈,对界面进行优化,提高用户体验;(4)安全性优化:加强系统的安全性,防止被攻击和破坏。

七、总结

本文主要介绍了一个数据结构校园导游程序设计的全过程。通过合理

的需求分析、系统设计和功能实现,我们可以开发出一款高效、易用、安全可靠的校园导游程序,为广大用户提供更好的服务。

数据结构集中实践实施方案

河南财经政法大学校园导游系统开发1.实训项目要求 设计河南财经政法大学校园平面图,所含景点不少于10个。以图中顶点表示各景点,存放景点编号、名称、简介等信息;以边表示路径存放路径长度等相关信 息。一般情况下,校园的道路是双向通行的,可设校园平面图是一个无向网。 本系统用户分成:游客和管理员。对不同用户程序员需要实现以下功能: ◆为来访游客提供查询功能如下: 1)图中任意景点信息查询(景点名称,简介等); 2)图中任意景点的问路查询:任意两个景点之间的一条最短的简单路径(采用迪杰斯特拉算法); 3)显示校园导游图; ◆管理员需要具备数据管理功能如下: 1)修改登录密码; 2)添加新的景点; 3)修改景点信息(编号唯一,不可修改); 4)新建景点路径; 提示: 1.界面:

资料介绍: void Info()//资料介绍函数 { printf("1 大门口:出入学校的必经之路\n"); printf("2 行政办公楼:学校最气派的建筑之一\n"); printf("3 北区:金工实训中心,还有几排具有历史沧桑感的教室\n"); printf("4 一号教学楼:主要有小教室,用来上英语课和专业课\n"); printf("5 二号教学楼:主要用来上专业课,五六楼有语音室\n"); printf("6 实验楼:学生上各种实验课的地点\n"); printf("7 三号教学楼:有大教室,一般安排用来上基础课\n"); printf("8 图书馆:学校为同学们提供学习和自习的地方,也是学校的藏书最多的地方\n"); printf("9 开水房:学校唯一一个为同学提供热水的地点\n"); printf("10 超市:学校唯一一个中型超市,在这里可以买到各种生活用品\n"); printf("11 榴馨苑:环境较好的学生食堂,这里因为离女生公寓较近,所以这个食堂女生较多\n"); printf("12 洗浴中心:环境还行就是规模太小,每天都是供不应求\n"); printf("13 骊秀苑:主要经营面食。我校的物美价廉的食堂,位于男生公寓区,大部

校园导游咨询系统数据结构课程设计c语言

校园导游咨询系统数据结构课程设计c语言校园导游咨询系统数据结构课程设计c语言 一、课程设计的目的 本次课程设计旨在通过C语言程序设计实现校园导游咨询系统,学生能够了解并掌握数据结构的基本概念、算法和编程技术,培养学生的编程能力和解决实际问题的能力。 二、系统需求分析 (1)用户管理 系统需要实现学生、教师、管理员三种用户的管理,分别具有不同的权限等级。要实现用户注册、登录、退出等基本功能。 (2)地图导航 系统需要实现校内地图的导航功能,包括校门、教学楼、图书馆、宿舍等位置的标注,提供校园内部的导航和查找服务。 (3)建筑信息 系统需要提供校内建筑的信息查询功能,包括建筑名称、位置、使用情况等,方便师生查询。 (4)在线咨询 系统需要提供在线咨询功能,方便学生、教师等用户在线咨询学校相

关事宜,并实现客服人员的消息处理。 三、数据结构设计 (1)用户信息表 采用哈希表作为用户信息表的数据结构,将用户信息存储在表中,方 便用户登录和信息的管理。哈希表的键值是用户名,值是用户信息 (包括用户名、密码、权限等级等)。 (2)建筑信息 采用结构体数组作为建筑信息的数据结构,将建筑信息存储在数组中,方便查询和展示。结构体包含建筑名称、位置、使用情况等信息。 (3)校内地图 为方便地图导航,采用邻接矩阵作为校内地图的数据结构,将校内各 个建筑之间的距离存储在矩阵中。矩阵的行和列分别表示建筑的编号,矩阵元素表示建筑之间的距离。 (4)消息队列 为实现在线咨询功能,采用队列作为消息队列的数据结构,将用户发 送的消息存储在队列中。消息队列的队首指针和队尾指针分别表示最 早和最晚的消息,方便客服人员的处理。 四、代码实现 (1)用户管理

校园导游图系统数据结构实验报告

一. 设计目的 通过布置具有一定难度的实际程序设计项目,使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法;使学生掌握分析问题,求解问题的方法并提高学生设计编程实现的能力。 二. 设计内容 用无向网表示学校的校园景点平面图,图中顶点表示主要景点, 存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。游客通过终端可询问: (1)从某一景点到另一景点的最短路径。 (2)游客从公园进入,选取一条最佳路线。 (3)使游客可以不重复地浏览各景点,最后回到出口(出口就在入口旁边)。 [基本要求] (1)将导游图看作一张带权无向图,顶点表示公园的各个景点,边表示各景点之间的道路, 边上的权值表示距离.为此图选择适当的数据结构。 (2)把各种路径都显示给游客,由游客自己选择浏览路线。 (3)画出景点分布图于屏幕上。 [实现提示] (1)构造一个无向图G并用邻接矩阵来存储。 (2)利用迪杰斯特拉算法来计算出起点到各个顶点之间的最短路径用二维数组p[i][]来记录, 最短路径长度就用一维数组d[i]存放;i的范围:0~20。 (3)一维数组have[]是用来记录最短路径出现顶点的顺序。 (4)根据起点和终点输出最短路径和路径长度。 三.概要设计

1.功能模块图;

2.各个模块详细的功能描述。 1.浏览校园全景:采用深度遍历遍历图进行所有景点浏览,将遍历景点信息输出 2.查看所有游览路线:用户输入一个景点,采用迪杰斯特拉算法将从该景点起所

校园导游咨询系统课程设计(14级网工二班)

湖南人文科技学院 数据结构课程设计 课程名称: 数据结构课程设计题目: 校园导游咨询系统年级/专业/班: 14级信工系网工二班组长姓名(学号): 刘贵成(14420221)成员姓名(学号): 康子祺(14420211) 何旭亚(14420206) 罗豪(14420233)

《数据结构》课程设计 --校园导游咨询系统设计 一、引言 随着现代社会生活节奏的加快,人们外出旅行以寻求放松的时间越来越多。考虑到游客不可能对所有景点都有所了解,因此可能无法找到游玩景点最省时,最高效的路径,而人工导游成本又过高,故使用C++,基于《数据结构》中图的相关算法与HGE引擎的窗口界面开发了“湖南人文科技学院导游咨询系统”。 开发本系统目的在于为来访我校的游客提供一条最短游览路径,本系统从实际出发,通过对校园平面图的分析,将其转化为数据并保存在系统中,因此系统提供的路径具有较大的可信性。而且本系统使用引擎创建窗口,更加方便,更加美观,更加易懂。 本系统界面友好,提示信息充分,在实际使用过程中运行良好。 二、设计目的与任务 1、设计目的: 通过本课程设计教学所要求达到的目的是:巩固和加深对数据结构的理解,通过上机实验、调试程序,加深对课本知识的理解;能熟练掌握几种基本数据结构的基本操作;能针对给定题目,选择相应的数据结构,分析并设计算法,进而给出问题的正确求解过程并编写代码实现。能简单的运用HGE引擎创建窗口,更好地实现校园导游咨询功能。 2、设计任务: 校园导游程序:用窗口界面实现以下功能: (1)景点信息的查询和简介; (2)两景点间路径的查询; (3)增加、删除、更新有关景点和道路的信息。

(003)(校园导游系统)c语言

校园导游咨询 一、目的 1、对自己学过的知识进一步的加深理解,对数据结构的算法思想要有更深的理解。 2、通过课程设计,学会通过系统分析、系统设计、编程调试,写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用。 3、学会综合运用数据结构课程中学到的数据结构和算法,如图的存储结构,数组,迪杰斯特拉算法和Floyd算法等自行实现一个较为完整的应用系统的设计与开发。 二、需求分析 1、功能需求 (1)在菜单中显示校园景点地图。 (2)能够查找任意景点的路径。 (3)能够自动查找用户键入始点景点和终点景点的最短路径。 (4)用户能够查询任意景点的景点信息。 2、输入 根据菜单提示键入相应的数字键已完成相应的操作。例如:在菜单界面中键入数字3,再根据系统提示键入始点和终点对应的编号,系统便会输出相应的路径。 3、输出 程序将根据用户键入的数字键,调用相应函数,完成查找过程,并将结果输出到屏幕。 三、概要设计 1、变量定义 typedef struct //图中顶点表示主要景点,存放景点的编号、名称、简介 { char name[30]; int num; char introduction[100];//简介 }infotype; typedef struct ArCell //定义结构体变量来储存路径长度 { int adj; //路径长度 }ArCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM

typedef struct //景点信息的结构体定义: { infotype vexs[MAX_VERTEX_NUM]; AdjMatrix arcs; int vexnum,arcnum; }MGraph; MGraph b; 2.函数模块 void cmd( );//菜单选择模块 MGraph InitGraph( );//赋值函数 void Menu(void);//菜单函数 void Browser(MGraph *G);//浏览景点信息的函数 void ShortestPath_DIJ(MGraph * G);//迪杰斯特拉算法 void Floyd(MGraph *G);//Floyd 算法 void Search(MGraph *G);//查找景点信息函 ()(MGraph *G);//初始化图形 void print(MGraph *G);//校园全景显示函数 3、流程图 四、详细设计 2

西安邮电大学-(数据结构)校园导游系统课程设计报告---精品管理资料

西安郵電大學 数据结构课程设计报告书 系部名称计算机学院 学生姓名崔斌 专业名称计算机科学与技术专业班级计科1106 学号04111185 指导教师衡霞 2012年12月15日至 时间 2012年12月21日

实验题目:校园导游系统 一、实验目的 ①:为了让非本校的同学们,家长们能够充分了解本校---西安邮电大学。 ②:实践数据结构所学知识。 二、实验内容 ①:学校简易的俯视图。 ②:各个景点的简单介绍. ③:任意两景点之间的所有路径. ④:任意两景点之间的最少中转景点路径。 ⑤:任意两景点之间的带权路径长度。 三、需求分析 Init();初始化两个顺序栈 Menu();进行选择的模块函数; Intro();景点介绍函数; Search();判断是否有此编号的景点; Findallpath();找路径函数; Findallway();找任意两个景点之间的所有路径;(存在栈里面)Shortestway();任意两个景点之间中转次数最少的路径;(从栈里面读取出来)Niceway();任意两个景点之间总权值最小的路径;(从栈里面读取出来)

Calculate();(从栈里面读取出来相关数据),进行分析运算; Byebye(); 你懂得! 四、概要设计 1、方案设计 对系统进行分析,给出景区图 重点: ①: //思想;递归结合循环,然后,找到终点时还要回溯; void findallway(adjlist *G,int m,int n)//两点之间的所有路径 { int i,t,k; arcnode *p; pa_th rp; push(s,m); G—>vertex[m—1].flag=1; if(m==n) { rp.sumweight=k=calculate(G); rp.sum=s-〉top; rp。num=(y+1); push1(&z,rp); printf(" 路径%3d为(途径%2d个景点,长度为%3d):”,y+1,s—〉top,k); for(i=0;i〈=s—>top;i++) printf(”—〉%d",s—〉elem[i]); printf("\n"); G-〉vertex[m-1]。flag=1;

数据结构-校园导游程序(附源码)

实习报告 实验名称:校园导游程序日期:2017年7月7日 姓名:李琛学号:20153204 班级:信1501-2 指导教师:陈娜 1.实验题目 校园导游程序 [问题描述] 用无向网表示学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。 2.需求分析 游客通过终端可询问: (1)从某一景点到另一景点的最短路径。 (2)游客从公园进入,选取一条最佳路线。 (3)使游客可以不重复地浏览各景点,最后回到出口(出口就在入口旁边)。 [基本要求] (1)将导游图看作一张带权无向图,顶点表示公园的各个景点,边表示各景点之间的道路,边上的权值表示距离.为此图选择适当的数据结构。 (2)把各种路径都显示给游客,由游客自己选择浏览路线。 (3)画出景点分布图于屏幕上。 3.概要设计 数据类型定义 #include #include //图的邻接矩阵存储表示 #define MaxInt 32767 //极大值 #define MVNum 100 //最大顶点数 //顶点类型为字符型 typedef int ArcType; //边的权值为整型using namespace std; int i, j; int S[100], D[100], min, Path[100]; int N = 49; int bestcost = MaxInt; //记录目前最少运费或代价int currentcost; //当前运费或代价 int current[MaxInt]; //当前路径 int best[MaxInt]; //记录最佳路径 struct AMGraphd {

校园导游系统数据结构实习报告

校园导游系统数据结构实习报告 校园导游系统数据结构实习报告 一、引言 随着信息技术的快速发展,数字化校园已成为许多学校的重要建设目标。其中,校园导游系统作为数字化校园的一部分,对于提高校园文化氛围,方便新生和游客游览校园,增强校园归属感起到了重要作用。在这次实习中,我们的主要任务是设计和实现一个校园导游系统,采用数据结构技术对校园地图进行建模和优化,以提供高效、便捷的导游服务。 二、系统设计 1、数据结构选择:考虑到校园地图的复杂性,我们采用了图(Graph)作为基础数据结构。图是由节点(顶点)和边组成的集合,可以很好地表示校园中各个地点之间的连接关系。 2、地图表示:我们将校园地图转化为图,其中每个地点对应一个节点,地点之间的路径对应边。为了更准确地表示实际环境,我们使用了带权重的边,权重表示路径的长度或美观度。 3、导游路径规划:我们使用了最短路径算法,如Dijkstra算法和 A*算法,来规划最佳游览路径。用户可以在系统中设定起点和终点,

系统会根据图中的边和权重计算出最短路径。 4、语音导航:系统可以通过用户的手机实时获取位置信息,并使用TTS(Text-to-Speech)技术将规划的路径转化为语音提示,方便用户边听边走。 5、数据库设计:我们设计了一个关系型数据库,用于存储校园地图信息、用户信息等。通过使用索引和查询优化技术,提高了系统性能。 三、系统实现 1、环境配置:我们使用了Python语言和相关的数据结构库来实现系统。开发环境为Windows 10操作系统,数据库采用了MySQL。 2、代码实现:我们对Python语言和相关库进行了深入学习,掌握了图算法的实现方法。在实现过程中,我们遇到了一些问题,如最短路径算法的优化、语音导航的实时性等。通过查阅资料、讨论和实践,我们成功解决了这些问题。 3、测试与调试:我们对系统进行了全面的测试,包括单元测试、集成测试和系统测试。在测试过程中,我们发现并修复了一些bug,提高了系统的稳定性和可靠性。 4、用户界面设计:我们设计了一个简洁、易用的用户界面,使用户可以方便地使用系统。用户界面包括地图展示、路径规划、语音导航等功能,并支持用户输入和交互。

(完整word版)数据结构课程设计-校园导游图

齐齐哈尔大学 计控学院 数据结构课程设计 选题名称:校园导游图 系(院):计算机与控制工程学院 专业:软件工程 班级:软件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;

数据结构-校园导游系统

课程设计论文(附有代码!)题目:校园导游咨询 学院:计算机科学与工程学院 专业:计算机科学与技术 姓名: 学号: 指导教师: 2014年9月22日

摘要 桂林众山环绕,风景优美,加之近年来校园环境也得到不断地改善,来访校园的游客逐渐增加,为了方便众多游客对校园景点的参观,需要给来访人士提供校园导游咨询服务,利用计算机建立一个便利的咨询系统可以很好地解决这个问题。 在本设计实验中,我所采用的是邻接矩阵作为数据的存储结构,用不同的功能模块对两地距离和校园道路信息进行编辑。当游客来访时,系统能根据用户输入的景点代号查询景点信息,提供任意两个景点间的最短路径查询,并能查询校园内的交通信息,方便游客访问。工作人员还可以为校园更新景点以及路径信息。 本文将简单介绍该系统的开发背景,详细介绍系统的主要设计思路,函数的建立和使用过程,该系统功能的实现方式和实现结果,以及对所遇到问题的分析解决,最后对该系统进行总结描述。 关键词:校园导游咨询;C++;数据结构;最短路径;查询;

目录 引言 (1) 1系统概述 (1) 2需求分析 (1) 2.1 系统需求 (1) 2.2 开发环境 (2) 3详细设计 (3) 3.1 系统结构 (3) 3.2 数据结构设计以及数据的初始化 (4) 3.2.1 图结构设计 (4) 3.2.2 数据的初始化 (4) 3.3 查询模块的详细设计 (5) 3.3.1 查询模块功能子函数设计 (5) 3.4 更新功能模块详细设计 (7) 3.4.1 更新模块功能子函数设计 (8) 4所遇到的问题和分析解决 (10) 5系统特色及关键 (11) 6结论 (12) 参考文献 (13)

数据结构课程设计校园导航

一、课程设计目的 本课程设计的目标就是要达到理论与实际应用相结合,提高学生组织数据及编写大型 程序的能力,并培养基本的、良好的程序设计技能以及合作能力。 设计中要求综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问 题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握数据结构 和算法设计技术,掌握分析、解决实际问题的能力。 通过这次设计,要求在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算 法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机 操作等基本技能和科学作风方面受到比较系统和严格的训练。 二、课程设计内容 1)问题描述 用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。 2)基本要求 (1)查询各景点的相关信息; (2)查询图中任意两个景点间的最短路径。 (3)查询图中任意两个景点间的所有路径。 (4)增加、删除、更新有关景点和道路的信息 三、课程设计过程 1.需求分析

(1)设计学校的校园平面图,选取出若干的具有代表性的景点构成一个抽象的无向带权图,顶点为景点,边的权值代表了景点间路径的长度。 (2)将景点的序号,名称,介绍存放起来准备查询。 (3)提供任意景点的信息; (4)提供任意经典的路径查询及其最优路线的查询 (5)平面图景点的增加及删除,以及边和权值(长度)的改变 2.概要设计 1:第一点是主界面的设计,首先,为了该系统各个功能的管理,设计出含有多个菜单项的主菜单界面,可以更方便的使用该系统。 2:第二点是存储结构的设计,采取了图结构类型(mgraph)存储校园图的信息,景点信息用结构数组vexs存储,而且利用全局变量:visited[]数组用于存储顶点是否被访问标志;d[]数组用于存放权值和查找路径顶点的编号;campus是一个图结构的全局变量。 3:第三点是设计各个功能的实现,学校景点的介绍通过函数browsecompus()来实现;查询景点间的最段路径通过Floyd(弗洛伊德)算法实现;查询景点间的所有路径通过allpath函数和path函数来实现;更改图的信息可以由主函数changegraph以及其他函数可以实现。 3.详细设计 (1)主要的操作界面的显示以及无向网操作

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

1、需求分析 (1) 2、总体设计 (1) 2.1 抽象数据类型图的定义 (1) 2.2 程序中包含的模块 (1) 2.3 模块间的调用关系 (3) 3、详细设计 (3) 3.1 代码设计 (3) 3.1.1 定义结构体和全局变量 (3) 3.1.2 平面图的初始化 (4) 3.1.3 最短路径查询 (5) 3.1.4 景点信息查询 (8) 3.1.5 景点信息更新 (8) 3.2 界面分析 (9) 3.2.1 主程序界面 (9) 3.2.2 景点信息的查询 (10) 3.2.3 最短路径查询..................................................................................... 1 1 3.2.4 管理校园查询系统 (12) 4、总结报告 (12) 参考文献 (13)

设计一个校园导游系统程序,为来访的客人提供各种服务的信息查询。(1).设计潍坊学院校园平面图,所含的景点不少于 10 个。以图中顶点表示校各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。 (2).为来访客人提供图中任意景点相关信息的查询。 (3).为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。 2.1 概要设计 2.1.1 函数定义的变量 /*定义符号常量*/ #define INT_MAX 10000 #define n 10 /*定义全局变量*/ int cost[n][n]; /* 边的值*/ int shortest[n][n];/* 两点间的最短距离*/ int path[n][n]; /* 经过的景点*/ 2.1.2 程序中包含的模块 (1)主程序模块 void main()/*主函数*/

校园导游实验报告——数据结构

数据结构实验报告 ——实验六简单校园导游程序的设计与实现 本实验的目的是通过对校园导游程序的设计与实现来熟练掌握图型结构在实际问题中的应用。 一、【问题描述】 当人们到一个陌生的地方去旅游的时候可能会找一个导游为自己在游玩的过程中提供方便。导游可以提供很多效劳,比方介绍参观景点的历史背景等相关信息,推荐到下一个景点的最正确路径,以及解答旅游者所提出的关于旅游经典的相关问询等等。对于新生刚刚来到校园,对校园环境不熟悉的情况也如此,一般都是高年级的学生充当了“校园导游员〞的角色,如果能够提供一个程序让新生或来访的客人自主的通过与机器的“对话〞来获得相关的信息的话,将会节省大量的人力和时间。而且所提供的信息也能够做到尽可能的准确、详尽。一个成功的校园导游程序可以替代现实生活中这些“校园导游员〞,更方便了大家查询校园相关的信息。 本次实验需要开发一个简单的校园导游程序,程序的主体功能为: 1、显示校园平面图,方便用户直观的看到校园的全景示意图,并确定自己的位置。 2、为用户提供对平面图中任意场所的相关信息的查询。 3、为用户提供对平面图中任意场所的问路查询。 二、【数据结构设计】 由于各个场所通过校园中的道路相连,各个场所和连接它们的道路构成了整个校园的地理环境,所以使用图这种数据结构对他们去进行描述。以图中的顶点表示校园内各个场所,应包含场所名称、代号、简介等信息;以边表示连接各个场所的道路,应包含道路的代号、路径的长度等信息。顶点和边均使用结构体定义,整个图的数据结构可以采用教材中介绍的各种表示方法,例如带权的邻接矩阵。 三、【功能〔函数〕设计】 1、显示校园平面图的功能模块。 通过读文件的方式将各个地点的信息读入程序中.平面图中应醒目的标识出场所的准确名称以备用户查询。河北大学校园导游的根本地点信息。 ***************欢送进入河北大学校园导游系统!************** -----------------------景点名称--------------------------- 主楼多功能馆毓秀园图书馆 操场留学生楼七教八教 九教成教南大门北大门 一教逸夫楼博物馆物

校园导游系统设计与实现毕业设计论文

校园导游系统设计与实现

目录 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()实现。该功能采用迪杰斯特拉(Dijkst⑻算法实现。当用户选择该功能,系统能根据用户输入的起始景点编号,求出从该景点到其他景点的最短路径线路及距离。当用户选择该功能,系统能根据用户输入的起始景点及目的景点编号,查询任意两个景点之间的最短路径线路及距离。茕桢广鳓鯡选块网羈泪。 ⑸ 更改图信息 修改一个已有景点的相关信息、删除一个景点及其相关信息、删除一条路径、加一条路径、修改路径长度、添加一个景点鹅娅尽損鹌惨歷茏鴛賴。 ⑹ 数据安全防范 设置密码,能保证数据不会被随便更改,由pass()判定密码是否正确,可由changepw() 函数修改密码,初始密码为gdufsx籟丛妈羥为贍债蛏练淨。 ⑺ 写入文件并保存修改 打开该软件,若没有graph.txt,则会由系统初始化生成一个graph.txt,若已存在该文档会由该文档中的内容初始化系统。預頌圣鉉儐歲龈讶骅籴。 ⑻ 恢复初始状态 若数据已经显得很杂乱并很难修理,就可以启用这个功能⑼ 退出

相关文档
相关文档 最新文档