- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
校园导游咨询系统课程设计 大学论文
湖南人文科技学院
数据结构课程设计
课程名称 : 数据结构课程设计 题 目 : 校园导游咨询系统 年级/专业/班 : 14级信工系网工二班 组长姓名(学号) : 成员姓名(学号) :
《数据结构》课程设计
--校园导游咨询系统设计
一、引 言
随着现代社会生活节奏的加快,人们外出旅行以寻求放松的时间越来越多。考虑到游客不可能对所有景点都有所了解,因此可能无法找到游玩景点最省时,最高效的路径,而人工导游成本又过高,故使用C++,基于《数据结构》中图的相关算法与HGE引擎的窗口界面开发了“湖南人文科技学院导游咨询系统”。
开发本系统目的在于为来访我校的游客提供一条最短游览路径,本系统从实际出发,通过对校园平面图的分析,将其转化为数据并保存在系统中,因此系统提供的路径具有较大的可信性。而且本系统使用引擎创建窗口,更加方便,更加美观,更加易懂。
本系统界面友好,提示信息充分,在实际使用过程中运行良好。
二、设计目的与任务
1、设计目的:
通过本课程设计教学所要求达到的目的是:巩固和加深对数据结构的理解,通过上机实验、调试程序,加深对课本知识的理解;能熟练掌握几种基本数据结构的基本操作;能针对给定题目,选择相应的数据结构,分析并设计算法,进而给出问题的正确求解过程并编写代码实现。能简单的运用HGE引擎创建窗口,更好地实现校园导游咨询功能。
2、设计任务:
校园导游程序:用窗口界面实现以下功能:
(1)景点信息的查询和简介;
(2)两景点间路径的查询;
(3)增加、删除、更新有关景点和道路的信息。
三、设计方案与实施(小三号、黑体、加粗) (一级标题)
1、总体设计//写总体的设计思想
根据题目要求,程序需要实现校园景点的信息查询和修改。首先使用HGE引擎创建基本的窗口界面,定义一个二维数组(40X40)来表示地图的属性,,然后从文件中加载一张图片并用纹理句柄保存,再创建一个精灵,并绑定一张纹理图片等来将图片设置进窗口界面。再建立更新函数和渲染函数来进行逻辑处理(获取鼠标位置,获取图片的矩形区域,判断一个点是否在矩形中,判断鼠标是否在增加删除选项框内,判断鼠标是否在增加删除选项框内)和显示(背景,颜色,景点名字,景点坐标,景点简介等)
在窗口查询中,全是用鼠标来实现景点简介、景点间路径、景点和道路的增加、删除、更新等操作,方便易懂又美观。景点简介的查询是:将鼠标放在景点上就会实现;景点间路径的查询是:用鼠标在已有道路上点出起点和终点,就会自动计算出最短路径并且显示在右边的路径框上;景点和道路的增加、删除、更新:用鼠标点击已有的两个编辑按钮来实现对地图上的修改。
2、详细设计
(1)HGE的应用
HGE *hge = 0;//定义一个全局变量:hge引擎指针
hgeFont* pFont;
hgeSprite *sprite = NULL;//精灵指针:(指向一张图片)
HTEXTURE tex = NULL;//纹理句柄(对应一张图片)
hgeSprite *sprite_1 = NULL;//精灵指针:(指向一张图片)
HTEXTURE tex_1 = NULL;//纹理句柄(对应一张图片)
hgeSprite *sprite_2 = NULL;//精灵指针:(指向一张图片)
HTEXTURE tex_2 = NULL;//纹理句柄(对应一张图片)
hgeSprite *sprite_menu = NULL;//精灵指针:开始按钮
HTEXTURE tex_menu = NULL;//纹理句柄(开始)
hgeSprite *sprite_3 = NULL;
HTEXTURE tex_3 = NULL;
hgeSprite* sprite_4 = NULL;
HTEXTURE tex_4 = NULL;
hgeSprite* sprite_5 = NULL;
HTEXTURE tex_5 = NULL;
hgeSprite* sprite_6 = NULL;
HTEXTURE tex_6 = NULL;
GfxFont *g_pGfxFont0 = NULL;//中文显示
GfxFont *g_pGfxFont1 = NULL;//中文显示
GfxFont* p_Font = NULL; //创建一个字体指针
GfxFont* p_Font_1 = NULL;
GfxFont* p_Font_2 = NULL;
float scaling_1 = 1.0f;//设置按钮缩放比列
float scaling_2 = 1.0f;
float scaling_3 = 1.0f;
(2)更新函数(
文档评论(0)