校园导游咨询程序设计报告
校园导游咨询系统课程设计报告
目录
一、需求分析 (2)
二、概要设计 (2)
三、详细设计 (4)
四、设计和调试分析 (9)
五、用户手册 (9)
六、测试结果 (10)
1.操作命令符为s/S, (10)
2.操作命令符为v/V, (11)
3.操作符为v/V, (11)
4.操作符为e/E, (11)
5.综上可以查得: (12)
七、附录 (12)
参考文献 (13)
校园导游咨询系统
一、需求分析
1.从福建农林大学的平面图中选取28个有代表性的景点,抽象成一个无向带权图。以图中顶点表示景点,边上的权值表示两地间的距离。
2.本程序的目的是为了用户提供路径咨询,根据用户指定的始点和终点输出相应路径,或者根据用户指定的景点输出景点的信息。
3.测试数据(附后)。
二、概要设计
1.抽象数据类型图的定义如下:
ADT {
struct arcnode
{ int v;
int w;
struct arcnode *next;
};
struct node
{ int degree;
struct arcnode *first;
}adjlist[28];
}
2.主程序
V oid mian(){
初始化临接矩阵
windows(); / /初始化串口
getch();
}
3.函数定义的变量
#define infi 32767
#define MAX 28
int M,N; //无向图中的顶点M,无向图的变数
int adjmatrix[MAX][MAX]; // 保存临接矩阵的2唯数组
char *schoolIfo[MAX+1]={ //此数组用于界面显示信息
"null","东台-dt","金1-j1","金2-j2","金3-j3","金4-j4","食堂-st","田径场-tjc",
校园导游程序设计
《数据结构课程设计》报告
课题名称:校园导游程序
专业:
班级:
学号:
姓名:
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
可行性分析:模拟一个小型的计算器界面,能够输入数学表达式并计算出表达式的结果。
齐鲁工业大学校园导游咨询系统设计报告
成绩:__________________ 校园导游系统设计报告
学院名称理学院
一、系统分析
此次课程设计的主要内容是校园导航系统,所谓系统其实也不尽然,只不过是个小小的提示,为来访的客人提供各种信息查询服务。主要包括:①查看学校的全景图②各个景点的
简介③学校主要景点的分布④查看某一景点到其它所有景点的最短路径⑤查询任意两个景点之间的最短路径。矚慫润厲钐瘗睞枥庑赖。
二、概要设计
抽象数据类型的定义:
ADT Graph{
数据对象 V:V具有相同特性的数组元素的集合,称为顶点集。
数据关系 R:
R={VR}
VR={<v,w>|v,w∈V且P(v,w),<v,w> 表示从v到w的弧,谓词P(v,w)定义了弧<v,w>的意义或信息}聞創沟燴鐺險爱氇谴净。
基本操作P:
CreateGraph(&G,V,VR);
初始条件:V是图的顶点集,VR是图中弧的集合。
操作结果:按V和VR的定义构造图G。
DistroyGraph(&G)
初始条件:图G存在
操作结果:销毁图G
LocateVex(G,u);
初始条件:图G存在,u和G中顶点有相同的特征。
操作结果:若存在顶点u,则返回该顶点在图中的位置;否则返回其他信息。
GetVex(G,u);
初始条件:图G存在,u是图中的顶点。
操作结果:返回u的值。
InsertVex(&G,v);
初始条件:图G存在,v和图中的顶点有相同的特性。
操作结果:在图G中新增顶点v.
InsertArc(&G,v,w);
初始条件:图G存在,v和w是图中的顶点。
操作结果:在图G中增添弧<v,w>,若是无向图,还增添弧<w,v>。
数据结构(C语言版)实验报告 (校园导游咨询)
《数据结构与算法》实验报告
一、需求分析
【问题描述】
设计一个校园导游程序,为来访的客人提供各种信息查询服务。
【基本要求】
(1)设计你所在学校的校园平面图,所含景点不少于10个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。
(2)为来访客人提供图中任意景点相关信息的查询。
(3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一个最短的简单路径。
【测试数据】
由读者根据实际情况指定。
【实现提示】
一般情况下,校园的道路是双向通行的,可设校园平面图是一个无向网。顶点和边均含有相关信息。
【选作内容】
(6)扩充每个景点的邻接景点的方向等信息,使得路径查询结果能提供详尽的导向信息。
二、概要设计
1)抽象数据类型定义描述
#include<iostream>
using namespace std;
const int MaxSize=18;
const int INFINITY=65535;//最大值无穷
class direction;
template <class T> class MGraph;
template <class T>
class VertexNode//定义景点结点,存储景点信息
{
friend class MGraph<T>;
public:
int vex;//景点名称
T vexname;//景点名称
T vexinf;//景点信息
direction dir;//存放景点方位信息的direction类的dir。
数据结构实验报告(校园导游咨询)
软件学院
学生实验报告册
实验课程名称:数据结构与算法
实验项目名称:校园导游咨询
实验类型(打√):(基础、综合、设计√)
院系:信息工程学院计算机系专业:*****
姓名:*** 学号:*****
指导老师:***
软件学院教务处编制
一、实验预习报告内容
二、实验原始(数据)记录
实验时间:2007 年 6 月20日(星期三第7,8 节)实验同组人:
三、实验报告内容
2010年6 月21日
注:1、如有个别实验的实验报告内容多,实验报告册页面不够写,或有识图,画图要求的,学生应根据实验指导老师要求另附相同规格的纸张并粘贴在相应的“实验报告册”中。
2、实验报告册属教学运行材料,院系(中心)应按有关规定归档保管。
【源程序】
#include<iostream.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#include<stdio.h>
#include<process.h>
#define OK 1
#define ERROR 0
#define MAX_CHARSTRING 100
#define MAX_NAME 30
#define INFINITY 32767
typedef bool Status;
typedef int VRType;
typedef FILE *PFILE;
typedef char *Infotype;
//模块一:用邻接矩阵存储校园的地图
struct ArcCell//弧类型表示路径
《校园导游咨询》实验设计报告
设计题目:___校园导游咨询__
一、需求分析及规格说明
1、要求:用无向网表示学校的校园景点平面图,所含景点不少于十个。图中顶点表示主要景点,存
放景点的代码和名称等信息,图中的边表示景点间的道路,存放路径长度等信息。设计一个校园导游程序,为来访的客人提供各种信息查询服务。
a)简易菜单管理,界面友好。
b)对城市信息(城市名、城市间的里程)进行录入和编辑(可选);
c)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径,
给出相应的距离。
d)对于任意两个景点之间的一条最短的简单路径,给出所经过景点的信息和距离。对景点采用相
应的字符选择。
2、功能:修改及查询校园各景点的信息
3、测试数据:a)请输入出发景点:A 鲁迅像请输入到达景点:F 图书馆
b)请输入出发景点:B 音乐楼请输入到达景点:H 体育馆
二、概要设计
1、数据存储结构:一个结构体数组存放各景点名及其编号;一个二维数组存放两景点间的距离;一个栈结构,存储最短路径所经过的各个点;以及多个辅助数组;
2、算法思想:
1)使用菜单页,选择不同的功能(修改距离、求最短路径、退出等),进行相应的操作;
2)采用邻接矩阵作为数据的存储结构,打表,确定位置,修改距离值;
3)利用Dijkstra算法,求两地间的距离,并输出其路径;
4)主程序有简易菜单,选择功能模块执行,在程序运行过程中可以反复操作。
3、子函数:
void init() //初始化各景点的名称、编号及两地已知距离等信息
void list(int pos) //以表格的形式打印邻接矩阵
校园导游咨询系统数据结构课程设计c语言
校园导游咨询系统数据结构课程设计c语言校园导游咨询系统数据结构课程设计c语言
一、课程设计的目的
本次课程设计旨在通过C语言程序设计实现校园导游咨询系统,学生能够了解并掌握数据结构的基本概念、算法和编程技术,培养学生的编程能力和解决实际问题的能力。
二、系统需求分析
(1)用户管理
系统需要实现学生、教师、管理员三种用户的管理,分别具有不同的权限等级。要实现用户注册、登录、退出等基本功能。
(2)地图导航
系统需要实现校内地图的导航功能,包括校门、教学楼、图书馆、宿舍等位置的标注,提供校园内部的导航和查找服务。
(3)建筑信息
系统需要提供校内建筑的信息查询功能,包括建筑名称、位置、使用情况等,方便师生查询。
(4)在线咨询
系统需要提供在线咨询功能,方便学生、教师等用户在线咨询学校相
关事宜,并实现客服人员的消息处理。
三、数据结构设计
(1)用户信息表
采用哈希表作为用户信息表的数据结构,将用户信息存储在表中,方
便用户登录和信息的管理。哈希表的键值是用户名,值是用户信息
(包括用户名、密码、权限等级等)。
(2)建筑信息
采用结构体数组作为建筑信息的数据结构,将建筑信息存储在数组中,方便查询和展示。结构体包含建筑名称、位置、使用情况等信息。
(3)校内地图
为方便地图导航,采用邻接矩阵作为校内地图的数据结构,将校内各
个建筑之间的距离存储在矩阵中。矩阵的行和列分别表示建筑的编号,矩阵元素表示建筑之间的距离。
(4)消息队列
为实现在线咨询功能,采用队列作为消息队列的数据结构,将用户发
送的消息存储在队列中。消息队列的队首指针和队尾指针分别表示最
校园导游系统程序--课程设计-报告
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);//浏览函数
校园导游系统实验报告
竭诚为您提供优质文档/双击可除校园导游系统实验报告
篇一:校园导游图系统数据结构实验报告
一.设计目的
通过布置具有一定难度的实际程序设计项目,使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法;使学生掌握分析问题,求解问题的方法并提高学生设计编程实现的能力。
二.设计内容
用无向网表示学校的校园景点平面图,图中顶点表示主要景点,
存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。游客通过终端可询问:(1)从某一景点到另一景点的最短路径。(2)游客从公园进入,选取一
条最佳路线。
(3)使游客可以不重复地浏览各景点,最后回到出口(出口就在入口旁边)。[基本要求]
(1)将导游图看作一张带权无向图,顶点表示公园的各个景点,边表示各景点之间的道路,
边上的权值表示距离.为此图选择适当的数据结构。
(2)把各种路径都显示给游客,由游客自己选择浏览路线。(3)画出景点分布图于屏幕上。[实现提示] (1)构造一个无向图g并用邻接矩阵来存储。
(2)利用迪杰斯特拉算法来计算出起点到各个顶点之间的最短路径用二维数组p[i][]来记录,
最短路径长度就用一维数组d[i]存放;i的范围:0~20。
(3)一维数组have[]是用来记录最短路径出现顶点的顺序。(4)根据起点和终点输出最短路径和路径长度。
三.概要设计
1.功能模块图;
2.各个模块详细的功能描述。
1.浏览校园全景:采用深度遍历遍历图进行所有景点浏览,将遍历景点信息输出
校园导游咨询系统数据结构专业课程设计样本
校园导游咨询系统数据结构专业课程设计
石家庄经济学院
本科生课程设计报告书
题目校园导游咨询系统
姓名颜建学
学号
学院信息工程学院
专业计算机方向
指导教师 XXXXXX
完成日期:2012-07-5
校园导游咨询系统
1 需求分析
本程序的主要目的是为了提供本学校的景点的路径咨询和来访客人以及刚来报到的新生提供一个快捷方便的路径咨询,快速有效的提高了用户的熟悉度。。满足用户查询的需要:
1、从石家庄经济学院的平面地图中选取出10个有代表性的景点。
2、为来访的客人提供图中任意景点相关信息的查询。当用户输入正确时,为用户输出景点的相关信息;当用户输入不合法时,提示用户输入有误并返回让用户重新输入。
3、为来访的客人提供图中任意景点的路径查询,即查询任意两个景点之间的最短简单路径。当用户输入正确时,为用户输出任意两景点的最短路径;当用户输入不合法时,提示用户输入有误并返回让用户重新输入。
4、为来访客人推荐参观路线。
2 概要设计
1、抽象数据类型图的定义如下:
ADT Graph{
数据对象V:V是具有相同特性的数据元素的集合,称为顶点集。
数据关系R:
R={VR}
VR={(v,w)|v,w∈V,(v,w)表示v和w之间存在路径}
基本操作P:
CreatGraph70321(&G,V,VR)
初始条件:V是图的顶点集,VR是图中边的集合。
操作结果:按V和VR的定义构造图G。
DestroyGraph70321(&G)
初始条件:图G存在。
操作结果:销毁图G。
LocateVex70321(G,u)
初始条件:图G存在,u和G中顶点有相同特征。
校园导游咨询管理系统软件设计报告书
课程设计题目校园导游咨询管理系统软件设计学院计算机科学与技术学院专业计算机科学与技术
班级计算机0804班
姓名王成鹏
指导教师杜薇
2012 年 1 月9 日
课程设计任务书
学生姓名:王成鹏专业班级:计算机0804
指导教师:杜薇工作单位:计算机学院
题目:校园导游咨询管理系统软件设计
初始条件:
1.预备内容:数据结构(图),软件工程,面向对象程序设计,数据库技术,编译原理,可视化编程2.实践准备:掌握一种计算机高级语言等相关的使用。
要求完成的主要任务:
基本功能要求:
(1)设计你所在学校的校园平面图,所含景点不少于10个。将校内各景点的数据(景点名称、代号、简介等信息)和图片以图结构表示并保存于数据库。
(2)为来访客人提供任意景点相关信息的查询。
(3)为来访客人提供任意景点的问路查询。
(4)测试数据:自定。
(5)涉及技术工具:软件工程技术、数据库技术、UML工具、Java语言或C#语言等
设计报告内容应说明:
1.课程设计目的与功能;
2.需求分析,数据结构或模块说明(功能与框图);
3.源程序的主要部分;
4.运行结果与运行情况分析;
5.自我评价与总结
时间安排:
本学期第17-19周:
1.查阅、消化资料,系统调查2天
2.系统分析(采用UML工具) 3天
3.总体设计,实施计划(采用UML工具) 3天?
4.系统开发与实现(用指定语言工具) 5天
5.撰写报告2天
指导教师签名:2011年12月25日
系主任(或责任教师)签名:年月日
校园导游咨询管理系统
1.课程设计目的与功能
1)设计目的:
为游客设计一个校园导游咨询管理系统软件,帮助游客很好地了解校园景点位置,为观光带来方便。作为导游就是指示景点之间的距离和方向,让游客很清楚所处的位置,并且能够很快地找到方向与目的地。软件是为了简单、易用而设计的。
毕业设计 课程设计 校园导游系统设计报告
printf("5:\n\n学院食府\n\n学生就餐场所,饭菜可口,价格低廉。\n\n");break;
case 6:
printf("6:喷泉广场\n\n学校的一个漂亮的风景,美化校园。\n\n");break;
case 7:
printf("7:行政楼\n\n学校管理及办公场所\n\n");break;
introduce();
break;
case 's':
printf("进入最短路径查询:");
shortestdistance();
break;
case 'e':
exit(0);
default:
printf("输入信息错误!\n请输入字母i或s或e.\n");
break;
}
}
}/*main*/
void introduce()
王永强:权值的构建并进一步修改调试程序。
六.平面图示
一般情况下,校园的道路是双向通行的,可设校园平面图是一个无向网。顶点和边均含有相关信息。
比例1:10000(m)
七.程序代码
#include<process.h>
#include<stdio.h>
校园导游系统设计开题报告
校园导游系统设计开题报告
1. 项目背景
随着高校规模的不断扩大,新生和游客在校园中迷失的情况日益增多。校园导
游系统的设计旨在为人们提供一个简单、方便、快捷的方式来浏览和探索校园。该系统将提供校园地图、导航功能、景点介绍等功能,帮助用户更好地了解校园并规划自己的行程。
2. 项目目标
校园导游系统的设计目标如下:
•提供详细的校园地图,包含主要教学楼、宿舍区、图书馆等重要地点;
•支持用户根据个人需求进行导航,提供最佳路线规划;
•提供校园景点介绍,包括历史背景、建筑特点等信息;
•支持用户自定义行程,可以根据个人兴趣选择参观的景点;
•提供多语言支持,方便国际游客使用。
3. 系统设计
3.1 技术选择
在系统设计过程中,我们将使用以下技术和工具:
•前端开发:使用HTML、CSS和JavaScript进行用户界面设计和交互;
•后端开发:使用Python语言和Django框架进行服务器端开发;
•数据库:使用MySQL存储校园地图、景点介绍等数据;
•地图API:使用Google Maps API提供地图显示和导航功能;
•多语言支持:使用gettext库实现多语言支持。
3.2 系统模块
校园导游系统将被划分为以下模块:
•用户认证模块:负责用户注册、登录和注销等功能;
•地图模块:提供校园地图的显示和导航功能;
•景点模块:负责提供校园景点的信息展示和介绍;
•行程模块:支持用户自定义行程的创建、编辑和查看。
3.3 数据库设计
针对校园导游系统的需求,设计如下数据库表:
•用户表:用于存储用户的基本信息,包括用户名、密码等;
校园导游系统的设计与实现
校园导游系统的设计与实现
1 设计要求 (1)
2 概要设计 (1)
2.1 主界面设计 (1)
2.2 存储结构设计 (2)
2.3 系统功能设计 (2)
3 模块设计 (2)
3.1 模块设计 (2)
3.3 函数主要调用关系图 (4)
4 详细设计 (4)
4.1 数据类型定义 (4)
4.2 系统主要子程序详细设计 (5)
5 测试分析 (11)
6 源程序清单 (13)
7 用户手册 (27)
8 设计心得体味 (27)
数据结构课程设计报告(2022)
1 设计要求
1. 问题描述
设计一个校园导游程序,为来访的客人提供信息查询服务。
2.需求分析
(1)设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图(无向网),以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。
(2)存放景点代号、名称、简介等信息供用户查询。
(3)为来访客人提供图中任意景点相关信息的查询。
(4)为来访客人提供图中任意景点之间的问路查询。
(5)可以为校园平面图增加或者删除景点或者边,修改边上的权值等。
2 概要设计
为了实现以上功能可以从三个方面着手设计。
2.1 主界面设计
为了实现校园导游系统各功能的管理。首先设计一个含有多个菜单选项的主控菜单子程序以链接系统的各项子功能,方便用户使用本系统主控菜单运行界面如图1-1。
图1-1 校园导游系统主界面
校园导游系统的设计与实现
2.2 存储结构设计
本系统采用图结构类型(mgraph)存储抽象校园图的信息。其中,各景点间的邻接关系用图的邻接矩阵类型(adjmatrix)存储;景点(顶点)信息用结构数组 (vexs)存储,其中每一个数组元素是一个结构变量,包含景点编号、景点名称及景点介绍三个分量;图的顶点个数及边的个数由分量vexnum、arcnum表示,它们是整型数据。
校园导游咨询程序
实验三:校园导游咨询
一、设计方案简介
设计一个校园导游程序,为来访的客人提供各种信息查询服务。
1)设计你所在学校的校园平面图,
2)为来访客人提供图中任意景点相关信息的查询。
3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。
二、设计题目实现:
实际需求
1)设计你所在学校的校园平面图,所含景点不少于10个。以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息:以边表示路径,存放路径长度等相关信息。
2)为来访客人提供图中任意景点相关信息的查询。
3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。
2)概要设计
1、校园全景一览图、显示出校园的平面图。
2、提供校园中任意景点问路查询,即求任意两个景点之间的所有路径。
3、提供校园图中多个景点的最佳访问路线查询,即求途径这过个景点的最佳(短)路径。
1.功能模块图;
void Map();//校园地图
void CreateGraph();//创建图
void OutputPlace();//输出景点列表
void SearchPlace();//查询景点信息
void SearchPath();//查询最短路径
void Shortpath(int i);//计算最短路径
void Output(int sight1,int sight2);//输出函数
2.各个模块详细的功能描述。
Map();//显示校园整体的地图、包含学校各景点的详细位置CreateGraph();//创建图、主要用来保存各景点信息OutputPlace();//输出景点列表、供选择景点信息查询时使用SearchPlace();//查询景点信息、景点的名称及介绍SearchPath();//查询最短路径、两景点间最短距离Shortpath(int i);//计算两景点间最短路径
校园导游实验报告——数据结构
数据结构实验报告
——实验六 简单校园导游程序的设计与实现
本实验的目的是通过对校园导游程序的设计与实现来熟练掌握图型结构在
实际问题中的应用。
一、【问题描述】
当人们到一个目生的地方去旅游的时候可能会找一个导游为自己在游玩的
过程中提供方便。导游可以提供不少服务,比如介绍参观景点的历史背景等相关信息,推荐到下一个景点的最佳路径,以及解答旅游者所提出的关于旅游经典的相关问询等等。对于新生刚刚来到校园,对校园环境不熟悉的情况也如此,普通
都是高年级的学生充当了“校园导游员”的角色,如果能够提供一个程序让新生或者来访的客人自主的通过与机器的“对话”来获得相关的信息的话,将会节省大量的人力和时间。而且所提供的信息也能够做到尽可能的准确、详尽。一个成功的校园导游程序可以替代现实生活中这些“校园导游员”,更方便了大家查询校
园相关的信息。
本次实验需要开辟一个简单的校园导游程序,程序的主体功能为:
1、显示校园平面图,方便用户直观的看到校园的全景示意图,并确定自己
的位置。
2、为用户提供对平面图中任意场所的相关信息的查询。
3、为用户提供对平面图中任意场所的问路查询。
二、【数据结构设计】
由于各个场所通过校园中的道路相连,各个场所和连接它们的道路构成为了整个校园的地理环境,所以使用图这种数据结构对他们去进行描述。以图中的顶点
表示校园内各个场所,应包含场所名称、代号、简介等信息;以边表示连接各个
场所的道路,应包含道路的代号、路径的长度等信息。顶点和边均使用结构体定义,整个图的数据结构可以采用教材中介绍的各种表示方法,例如带权的邻接矩阵。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构课程设计
设计题目:校园导游咨询
学院:信息学院
班级:计算机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;//路的长度
char ivex[10],jvex[10];//路(边)连接的两个顶点的名字
int type;//表示道路类型,0表示两个都是,1表示人行道,2表示行车道
}EdgeType;//边类型
typedef struct AdjNode{
int length;// 弧的长度
char name[10];//关联的顶点的名字
struct AdjNode *next;//下一条弧
}AdjNode;//弧结点
typedef struct {
int live;//标记是否存在,如果被删除则为0,存在为1
int flag;//标记是否被访问过
VType data;//顶点的信息
AdjNode *first_adj;//指向该顶点的第一条弧
}VNode;//景点(顶点)结点
typedef struct {
VNode vex[V_MAX];//顶点数组
EdgeType edge[E_MAX];//边的数组
int v_num,e_num;
}Graph;//图类型
////////////////////////////////
Graph G;
AdjNode *p;
2.基本函数
////////////////////////////////
void creatGraph(Graph &G);//创建校园图
void load(Graph &G);//从文件中读取数据
void save(Graph &G);//保存数据入文件
int find_v(Graph G,char name[10]);//通过输入景点名字,返回该景点在vex数组里的下标
void print_Graph(Graph G);//以邻接矩阵的形式输出图信息
int direction(Graph G,char bname[10],char fname[10]);//用于判断并输出一个景点在另外一个景点的方位信息
void search_view(Graph G);//查询并输出景点的所有信息
void del_v(Graph &G);//删除景点
void add_v(Graph &G);//增加景点
void add_e(Graph &G)//增加道路
void modify_v(Graph &G);//修改景点信息
void del_e(Graph &G);//删除道路
二、详细设计
本程序由m.cpp、head.h、Menu.h、dijie.h4个文件构成。
1、m.cpp
主要用于调用菜单函数
#include
#include
#include
#include
#include "head.h"
#include "dijie.h"
#include "allpath.h"
#include "Menu.h"
void main()
{
load(G);
// while(1)
menu();
}
2.Menu.h
存放用于显示系统仿真界面的函数
void mobifyMenu()
{
while(1)
{
system("cls");
int choose;
printf("------------------------------------------");printf("\n");
printf(" 校园导游系统 ");printf("\n");
printf("------------------------------------------");printf("\n");
printf(" 景点或者道路信息的修改扩充 ");printf("\n");
printf("\n");
printf("------------------------------------------");printf("\n");
printf("1. 增加新景点\n");
printf("2. 删除景点\n");
printf("3. 修改景点\n");
printf("4. 增加新道路\n");
printf("5. 重新构建校园景点和路径信息\n");