当前位置:文档之家› 数据结构课程设计--校园导航系统

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

软件学院

课程设计报告书

课程名称数据结构

设计题目校园导航系统

专业班级网络工程

学号 20111204060 姓名滕飞

指导教师刘玲玲

2012年1月

目录

1 设计时间 (2)

2 设计目的 (2)

3设计任务 (2)

4 设计内容 (2)

4.1需求分析 (2)

4.2总体设计 (3)

4.3详细设计 (5)

4.4测试与分析 (16)

4.4.1测试 (16)

4.4.2分析 (18)

4.5 附录..................................... 错误!未定义书签。

5 总结与展望 (26)

参考文献 (27)

成绩评定 (28)

《校园导航系统》课程设计报告

《校园导航系统》课程设计报告 姓名: 学号: 班级:网络 专业:网络工程 指导教师: 时间:2

目录 摘要 (1) 1.题目 (1) 2.概要设计 (1) 3.调试分析 (15) 4.参考文献 (15)

1.题目 校园导航系统 设计一个校园导游程序,后台操作: 1、操作员信息管理如修改密码等 2、能根据学校的规模进行添加景点信息、修改景点信息等功能, 3、若临时有交通管制,能进行交通管制的设置和撤销(如某某时间段那条路进行那个方向的交通管制等) 前台为来访的客人提供各种信息查询服务: 1、设计学校的校园平面图,所含景点不少于10个。以图中顶点表示校内各景点,存放景点名 称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。 2、为来访客人提供图中任意景点相关信息的查询。 3、提供途中任意景点问路查询,即求任意两个景点间的一条最短的简单路径。 1.1 需求分析 设计一个校园导航系统,导航系统又分为游客和管理员。要进行管理操作还是游客操作由用户自己选择 管理员的操作:修改景点信息、增加景点信息、交通管制等。 游客的操作:查看景点信息和查最短路径。 2.概要设计 景点的信息由一维数组存放,景点关系由二维数据来存放 景点的信息和关系从文件读取,进而初始化 typedef struct //保存单个景点信息的结构体 { char code[10]; //存放景点代码 char name[20]; //存放景点名称 char instruction[100]; //存放景点简介 }ViewPoint; typedef struct //存放景点关系的二维数组 { int edges[MAXV][MAXV]; //两景点间的距离 int number; //景点的数量 ViewPoint V[MAXV]; //保存景点信息的结构体数组 }MGraph;

校园导航系统

目录 摘要 (2) 正文 (3) 1设计目的及要求 (3) 2 设计原理 (3) 2.1 C/C++语言简介 (3) 2.2 开发环境 (3) 2.3系统模块分析 (4) 3设计内容 (4) 3.1方案设计与论证 (4) 3.2数据结构描述与定义 (5) 3.3主要函数的说明 (6) 3.4设计结果验证 (11) 总结与致谢 (14) 参考文献 (15) 附录 (16)

摘要 与传统的地图相比较,地理信息系统有着不可比拟的优势,信息量大,切换方便,可扩展性强。校园导航问题是基于校园中的不同的景点,从陌生人的角度,为来往的客人提供校园景点相关信息的查询以及为来往的客人提供校园中任意景点的问路查询,以便客人能用最短的时间从某一地点到达想要去的地方。大大节约了旅客参观校园的时间。 本文是采用C++作为开发语言,又最大程度上用了C语言的有关的语法。以visual c++6.0为开发工具。旨在实现校园导航系统中,学校的简介,景点的介绍,路线查询等基本的问题。为来往客人参观校园提供方便。 关键字:visual c++6.0 ;校园导航系统;

正文 1设计目的及要求 1. 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; 2. 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; 3. 独立完成,提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 4. 训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。 5. 设计学校平面图,至少包括10个以上场所,校园导航系统能自动找出校园平面图中任意起始点与终点的最佳路径(最短路径)。求并输出路径及路径长度。 2 设计原理 2.1 C/C++语言简介 C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。具体应用比如单片机以及嵌入式系统开发。 C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。 2.2 开发环境 随着科学技术的不断发展,计算机科学日渐成熟,其强大的功能已为人们所深刻认识,它己进入人类社会的各个领域并发挥着越来越重要的作用。采用计算机进行校园导航已成为衡量校园数字化的重要标志。校园导航效率的好坏对于来校参观的客人和学校管理者来说都至关重要,在很大程度上影响着校园的数字化建设和学校的影响力。因此,本文所研究的校园导航系统具有一定的使用价值和现实意义。

数据结构课程设计模板

河南城建学院 课程设计报告书 专业:计算机科学与技术 课程设计名称:《数据结构课程设计》 题目:校园导航问题 班级:0814122 学号:081412211 姓名:谌文娟 同组人员:许华宇 指导老师:王永皎、赵军民、陈秋红、张延红 完成时间:2014年2月27日

摘要 校园导航要求每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。要用“邻接矩阵”来存储各点间的距离,然后用floyd算法求出最短路径。所以采用工程思想,将系统共分以下五个模块:节点数据结构类型、创建导航图函数、最短路径导航函数、查询函数声明、主菜单。 关键词:数据结构;算法设计

目录 目录 第一章开发环境和开发工具 (1) 1.1 C语言简介 .......................................................................................................... . (1) 1.2 开发背景 (2) 1.3 开发环境 (2) 第二章算法思想 (3) 2.1 系统需求分析 (3) 2.2 系统总体设计 (4) 2.2.1 系统设计目标 (4) 2.2.2 开发设计思想 (4) 2.2.3 系统功能模块设计 (4) 2.3 算法思想描述 (4) 第三章算法实现 (6) 3.1 数据结构 (6) 3.2 程序模块 (8) 3.3 各模块之间的调用关系 (9) 3.4 源程序代码 (10) 第四章测试与分析 (16) 4.1 测试数据选择 (16) 4.2 测试结果分析 (20) 总结 (21)

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

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

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

校园导航系统

题号:第七题 题目:校园导航问题 1,需求分析: 设计您得学校得平面图,至少包括10个以上得景点(场所),每两个景点间可以有不同得路,且路长也可能不同,找出从任意景点到达另一景点得最佳路径(最短路径)。 要求: (1)以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等有关信息、 (2)为来访客人提供图中任意景点相关信息得查询。 (3)为来访客人提供任意景点得问路查询,即查询任意两个景点之间得一条最短路径。 (4)修改景点信息。 实现提示: 一般情况下,校园得道路就是双向通行得,可设计校园平面图就是一个无向网。顶点与边均含有相关信息、 选做内容: (1)提供图得编辑功能:增、删景点;增、删道路;修改已有信息等、 (2)校园导游图得仿真界面。 2,设计: 2。1 设计思想: 〈1>,数据结构设计: (1)图。采用邻接矩阵存储,其中图所用到得结构体为: typedef struct { SeqList vertices; //表示图中得顶点 intEdge[MaxVertices][MaxVertices]; //表示图中得边 int numOfEdge; //表示图中边得数目}AdjMGraph; (2)景点。用顺序表存储。所用到得结构体为: typedef struct { charname[20]; //顶点名称 ?int code; //顶点代号 ?char introduction[50]; //顶点信息简介 }DataType; (3)景点之间得连接描述,所用到得结构体为: typedef struct { int row;

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

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

前言 现代社会,新兴科技日新月异,信息千变万化,人们在渴望得到最多最广的信息的同时又渴望得到信息的路径能越来越简单,易操作,而且能在简易的操作中得到更多的信息。这就要求信息咨询系统的开发者在开发之时能尽可能的全面理解客户的想法要求,而且在开发的时候能更简易的操作和更新,这种思想都符程序设计的开发思想。 本次设计任务是设计学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径),其实就是数据结构中图类的问题。将校园景点作为图的结点,将景点间的路径作为图的边,路径距离作为边的权值。这样一来,求两景点间最短路径的问题就抽象成了求图中一结点到另一结点的问题。 关键字:校园导航数据结构 C语言

目录 1引言 (4) 2程序设计 (4) 2.1设计时间 (4) 2.2设计目的 (4) 2.3设计任务 (4) 2.4需求分析 (4) 2.5概要设计 (5) 2.5.1.设计思路和主要步骤 (5) 2.5.2程序流程图 (6) 2.6详细设计 (6) 2.6.1学校整体局部 (6) 2.6.2打印图 (8) 2.6.3导航函数 (9) 2.6.4查找路径 (10) 2.6.5记录最短路径 (11) 3调试分析 (11) 4附录 (15) 总结 (21) 参考文献 (22)

1引言 本概要设计说明书基于之前建立的软件需求设计基础上,对“蚌埠学院校园导航系统”做出概要分析。主要解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。 2程序设计 2.1设计时间 2015-06-01—2015-06-15 2.2设计目的 1.加深对《数据结构》这门课程的进一步理解与巩固 2.通过课程设计,培养自己的编程能力以及团队协作能力 3.加强自己对实际问题的分析能力,以及如何更好的将一些经典的算法应 用于实际 2.3设计任务 该导航系统为参观者提供校园主要建筑的基本信息及各建筑间的距离,同时通过该系统计算出所在位置到目的地的最短路径。 2.4需求分析 1.程序体现的功能: (1) main()——主函数 (2) navigate()——导航函数 (3) pri()——打印校园平面图函数 (4) visit()——递归查找路线函数 2.正确输入与输出形式: 如: 执行建筑查询功能: ①输入为:sod 输出为:该建筑所在的坐标为7 8 种有花草和一些艺术标记物

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

西安郵電大學 数据结构课程设计报告书 系部名称计算机学院 学生姓名崔斌 专业名称计算机科学与技术专业班级计科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;

(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

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

一、课程设计目的 本课程设计的目标就是要达到理论与实际应用相结合,提高学生组织数据及编写大型 程序的能力,并培养基本的、良好的程序设计技能以及合作能力。 设计中要求综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问 题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握数据结构 和算法设计技术,掌握分析、解决实际问题的能力。 通过这次设计,要求在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算 法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机 操作等基本技能和科学作风方面受到比较系统和严格的训练。 二、课程设计内容 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)主要的操作界面的显示以及无向网操作

数据结构-校园导游系统

课程设计论文(附有代码!)题目:校园导游咨询 学院:计算机科学与工程学院 专业:计算机科学与技术 姓名: 学号: 指导教师: 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)

数据结构校园导游系统课程设计方案

滨江学院 《数据结构》课程设计题目校园导游咨询程序设计 学号 学生姓名 院系 专业 指导教师 二O一二年月日

1、题目的内容及要求 设计一个校园导游程序,为来访的客人提供各种信息查询服务。 2、需求分析 (1)设计你的学校的校园平面图,所含景点不少于10个。以图中顶点表示学校各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。 (2)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。 (3)为来访客人提供图中任意景点相关信息的查询。 3、概要设计 1.功能模块图; void CreateUDN();//创建无向网 void Search();//查询景点信息 void Shortestpath(int i);//计算最短路径 void Output(int sight1,int sight2);//输出函数 2.各个模块详细的功能描述。 CreateUDN();//创建无向网、主要用来保存各景点信息 Search();//查询景点信息、景点的名称及介绍 Shortestpath(int i);//计算两景点间最短路径 Output(int sight1,int sight2);//输出两景点最短路径及信息

3.模块图 4、详细设计 一、图的储存结构 #define Max 30000 #define NUM 10 typedef struct ArcCell { int adj; /* 相邻接的景点之间的路程*/ }ArcCell; /* 定义边的类型*/ typedef struct VertexType { int number; /* 景点编号*/ char *sight; /* 景点名称*/ char *description;/* 景点描述*/ }VertexType; /* 定义顶点的类型*/ typedef struct {

相关主题
文本预览
相关文档 最新文档