- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课 程 设 计 说 明 书
说明课设计的任务说明课中用到的抽象数据类型的定义、主程序的流程以及各程序模块之间的调用关系实现程序模块的具体算法调试过程中遇到的问题及解决方法列出测试结果,包括输入和输出
2.问题描述
设计学校的平面图,包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。
4.2主要函数设计
4.2.1主函数main()
主函数首先是调用初始化图函数InitGraph()函数创建一个图,而后调用显示主界面函数显示一个可视化主界面,内容包含本系统LOGO以及景点信息及操作编号的提示信息。之后,当用户成功输入操作编号后,使用一个switch()函数,判断用户所需操作,匹配成功后,调用相关函数实现用户所需功能。
4.2.2初始化图函数InitGraph()
InitGraph()函数首先使用MyGraph结构体声明一个用于存储图中信息的结构体,而后定义结构体中的景点数量以及路径数量,然后使用循环为景点信息和路径长度赋值,其中赋值景点信息时使用strcpy()函数将字符串复制给G.vexs[i].name以及G.vexs[i].introduction两个数组。
4.2.3显示主界面函数设计void Menu()
void Menu()函数主要用于显示主界面,函数中设计了本系统LOGO,同时主界面下方以列表方式提示用户系统可进行的操作及其对应编号,最后提示用户进行输入。
4.2.4查询景点信息函数设计void Search(MGraph *G)
该函数首先定义了一个变量k(用于接收用户输入的查询编号)和一个标记位flag(初始值设为1),而后使用while()循环,判断条件为flag=1,当输入编号不合法时提示错误,当输入合法时标记位flag置为0,此时跳出循环。
4.2.5弗洛伊德算法函数设计Floyd()
本算法在设计时参考了《数据结构》一书中有关Floyd算法的介绍,同时借鉴了如今网上流行的设计方式。之所以选择本算法来实现计算最短路径,原因在于本算法容易理解,可以算出任意两个节点之间的最短距离,代码编写简单
void Browser(MGraph *G)函数主要功能为用循环将存储于图中的景点信息以列表方式输出,方便用户对应着进行输入,同时提示用户进行输入。
4.2.7特色功能
本系统可以计算出你和目的地之间的距离,方便你估算出到达目的地所需要的大概时间。并且在显示图中信息的同时还能将校园地图以图型化的形式展现在你的面前,更加直观。
5.详细设计
5.1系统中函数及其关系
本系统共分9个函数,分别是void Browser(MGraph *G),void Floyd(MGraph *G),MGraph InitGraph(),int LocateVex(MGraph *G,char* v),void main(),void Menu(),void print(MGraph *G),void Search(MGraph *G),void ShortestPath_DIJ(MGraph * G)系统启动之后由主函数调用menu()函数,提示用户选择系统功能。用户选择了所需功能后由menu()函数再调用其它函数具体实现功能。
5.2菜单设计
通过一个主函数对各个子函数的调用实现所需功能:游客只需输入相应的编号就可以实现对其功能的查询;编号(0-9)
菜单如下:
欢迎来到东北电力大学
祝你:旅途愉快
1.浏览校园全景
2.查看所有游览路线
3.选择出发点和目的地
4.查看各景点信息
5.退出系统
诚心为你服务-请选择(输入编号.回车结束):
5.3抽象数据类型定义:
数据对象:V(顶点)
数据关系:R={VR}
VR={<V.R>}
5.4存储结构:邻接表
5.5算法设计:
主要应用:迪杰斯特拉算法,弗洛伊德算法,输入输出函数
5.6主函数main()
int i;b=InitGraph();//调用初始化地图函数
Menu();//调用菜单函数
scanf(%d,i);
while(i!=5)
{switch(i){}scanf(%d,i);}}
首先调用初始化图函数InitGraph()函数创建一个图,当用户成功输入操作编号后,使用一个switch()函数,判断用户所需操作,匹配成功后,调用相关函数实
原创力文档


文档评论(0)