- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学][课设论文]校园导航问题
课程设计(论文)
课程名称: 数据结构
题 目: 校园导航系统
院 (系): 信息与控制工程学院
专业班级: 计算机科学与技术0902
姓 名: 宫向阳
学 号: 090620219
指导教师: 祁飞
年 月 日
摘 要
数据结构是实践性很强的课程—queue来实现两点之间最短路径的存储。
关键字:数据结构,图,EZWIN,贪婪算法,queue
西安建筑科技大学课程设计(论文)任务书
专业班级: 计算机0902 学生姓名: 宫向阳 指导教师(签名):
一、课程设计(论文)题目
校园导航问题:设计学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同找出从任意场所到达另一场所的最佳路径。 数据结构是实践性很强的课程。课程设计是加强学生实践能力的一个强有力手段。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。熟练掌握的实现。输入数据:10个以上场所的编号;每两个场所间的路径和路长;
1. 自己设定每两个场所间的路径和路长(可能不同);
2. 图示化输出任意两个场所间的最佳路径(最短路径)。
3. 优化界面设计。西安建筑科技大学课程设计(论文)任务书 3
1、需求分析 5
2、概要设计 5
3、详细设计 8
4、调试分析 13
5、使用说明 17
6、课设总结 17
7、结束语 18
8、致谢 18
9、参考文献 19
10、附页(主要源代码) 19
1、需求分析
软件是简单的西安建筑科技大学校园导航系统,需具备两个基本功能:一、景点之间的路径查询,为用户提供任意两个景点之间的所有路径;二、景点之间的最短路径查询,为用户提供任意两个景点之间的最短路径。具体要求包括:①、输入数据包括10个以上场所的编号;每两个场所间的路径和路长; 自己设定每两个场所间的路径和路长(可能不同); 图示化输出任意两个场所间的最佳路径(最短路径)优化界面设计。min+adjacency[v][w]和distance[w]的大小)修改剩余点距源点的距离和这个点的状态,将其置为true,表示这个点已经被访问过,重复上述操作,直至所有点都被访问过。3、在建立最短路径图之后,为了将两个点之间的最短路径显示出来,需要遍历最短路径图,选出用户需要的两点间的最短路径,程序中采用了数据结构中的队列,利用队列的特点(先进先出),在贪婪算法中将包进去的点按顺序存储进去,然后让点依次出队,出一个点就比较一下这个点和在其之前出队的所有点之间的距离,如果他们相等,用另一个队列标记他们,直到所出队的点是终点,程序调用显示函数,将这个队列中所存储的点在屏幕上输出这条路径上的所有点和总路径的长度。
模块一:包括程序中所有鼠标事件所要调用的函数和所定义的窗口,以及鼠标连续点击不同按键实现相应功能的实现方法,这个模块主要是为了优化软件的显示界面。
模块二:四个菜单选项的实现,主要包括寻找最短路径以及它的存储,还有通过遍历此图找到两点之间的最短路径,最后在屏幕上显示遍历的结果
详细模块设计:
1)系统初始化模块:
void initialize(SimpleWindow w)//打开进入和退出画面
2)最短路径模块:
void shortest(int source,int final,SimpleWindow W);//找出各点距source点的最短距离用distance[]存储
void evaluate(int s,int f,SimpleWindow W);//找出所要查找的最短路径图
3)最短路径显示模块:
void display(queue q,SimpleWindow W,int final);// /显示最短路径查询结果
4)鼠标点击实现功能查询模块:
int event5(const Position mouseposn);//窗口w5的事件
5)列表中鼠标连续点击两次实现模块:
void SYSTEM::evaluate()//鼠标连续点击两次的实现方法
6)主程序模块:
int ApiMain()
{
w1.Open();
control.initialize(w1);
w1.SetMouseClickCallback(EVENT1);//首页的窗口事件
w2.SetMouseCl
您可能关注的文档
最近下载
- 石油化工产学研合作与创新体系建设进展.pptx
- 心理课:生涯决策力提升-《生涯决策力提升》.pptx
- (完整)婚介登记表.doc
- 浙江省宁波市区县社区街道乡镇村名称统计.pdf
- 法雷奥供应商手册supplierqualitymanual2104rev09资料.pdf
- 2023年汕头市潮阳区卫健系统招聘医学类专业技术人员笔试真题.docx VIP
- 2024年义务教育化学课程标准2022年版(多选题)考试专项题库及答案.docx
- 海阳市各级文物保护单位一览表(2024版).docx VIP
- 2025届高考英语模拟卷(新高考Ⅰ卷)两套(word版有答案).docx
- 2025年建设美丽乡村示范村实施方案.pdf VIP
文档评论(0)