- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计-校园导航
课 程 设 计 报 告
课程名称 数据结构课程设计
题 目 校园导航
指导教师
设计起始日期
学 院 计算机学院
系 别 计算机科学与工程
学生姓名
班级/学号
成 绩
需求分析
本次实验设计的任务是实现一个简易的北京信息科技大学的校园导航10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。
校园导航
b.查看浏览路线等待输入起始景点:
C.选择出发点与目的地 等待输入起始景点与目的地编号:
d.参看景点信息等待输入景点编号:
概要设计
本系统包含一个文件。设计分有菜单,显示信息,弗洛伊德算法,迪杰斯特拉算法,查找景点信息等程序段。主程序为整系统的入口处,菜单主要实现显示系统功能,显示信息主要实现显示景点信息,弗洛伊德算法主要实现求两景点之间最短路径,迪杰斯特拉算法实现求两景点之间最短路径,查找景点信息主要实现显示某一景点信息。
系统首先通过主程序调用void main( );进入系统主菜单函数,根据用户的选择可分别进入:1.浏览各景点及简介;2.查看所有游览路线;3.选择出发点和目的地求出最佳路径;4.查看景点信息;5.退出系统。
选择“浏览各景点及简介”项,显示十个景点的有关信息,包括景点编号,景点名称,景点简介。
选择“查看所有游览路线”项,会进入输入起始景点编号的界面,输入正确编号后会显示起始景点到其余九个景点的最短路线的方案。
选择“选择出发点和目的地”项,会进入输入起始景点与目的景点的界面,输入起始景
点与目的景点,并有空格隔开就得到两景点之间的最佳路径。
选择“查看景点信息”项,会进入输入要查看的景点的界面,如入后会显示该景点的有关信息。
选择“退出系统”项,就会退出程序。
详细设计
(1)十三个单位的图
0: 前门
1:图书馆
2:教二楼
3:实验楼
4:操场
5:教一楼
6:食堂
7: 水房
8:学一公寓
9:学二公寓
10:学三公寓
11:学四公寓
12:后门
(2)主程序流程图:
(3)弗洛伊德的算法:
void Floyd(MGraph *G)
{
int v,u,i,w,k,j,flag=1,p[10][10][10],D[10][10];//定义参数
for(v=0;vG-vexnum;v++)
for(w=0;wG-vexnum;w++)
{
D[v][w]=G-arcs[v][w].adj;
for(u=0;uG-vexnum;u++)
p[v][w][u]=0;
if(D[v][w]INFINITY)
{
p[v][w][v]=1;p[v][w][w]=1;
}
}
for(u=0;uG-vexnum;u++)
for(v=0;vG-vexnum;v++)
for(w=0;wG-vexnum;w++)
if(D[v][u]+D[u][w]D[v][w])
{
D[v][w]=D[v][u]+D[u][w];
for(i=0;iG-vexnum;i++)
p[v][w][i]=p[v][u][i]||p[u][w][i];
}
while(flag)
{
cout请输入出发点和目的地的编号(用空格隔开):;
cinkj;
if(k0||kG-vexnum||j0||jG-vexnum) //判断输入的景点编号正确与否
{
cout景点编号不存在!请重新输入出发点和目的地的编号:;
cinkj;
}
if(k=0kG-vexnumj=0jG-vexnum)
flag=0;
}
coutG-vexs[k].name; //输出景点名称
for(u=0;uG-vexnum;u++)
if(p[k][j][u]k!=uj!=u) //输出路线
cout--G-vexs[u].name;
cout--G-vexs[j].name;
cout 总路线长D[k][j]endl; //输出总路线长度
}
调试分析
(1) 在程序设计中遇到了输出景点信息的表不整齐,用setw()解决了;默认的界面太小,不能完整的看到输出信息,用了system(mode
您可能关注的文档
- 从历史的意义来认识梁祝的悲剧 原创论文.doc
- 从大学生的毕业论文看快速阅读的重要性 原创论文.doc
- 海洋资源利用现状与前景 原创论文.doc
- 开采沉陷与防治习题及答案.doc
- 二级直齿圆柱齿轮减速器课程设计说明书-2012年.doc
- 衡阳城市旅游开发应当注意的若干问题 旅游管理专业毕业论文 毕业设计.doc
- 英语电影对英语学习兴趣的影响 原创论文.doc
- 基地内建筑物室内外给水、污废水、雨水、消防栓消防等给排水计算书.doc
- 西安交大本科毕业论文模板.doc
- 浅析《呼啸山庄》中希斯克列夫的人性扭曲 英语专业论文.doc
- 善意取得制度的客体之我见 律师本科专业毕业设计 毕业论文.doc
- 江西永丰县城污水处理工程设计 环境工程专业毕业设计 毕业论文.doc
- 天津滨海新区经济发展中的金融支持探析 金融学专业毕业设计 毕业论文.doc
- 宁夏回族自治区吴忠市信息技术教师专业化研究 计算机技术专业毕业设计 毕业论文.doc
- 51数字时钟参考资料 单片机毕业设计资料.doc
- 分布式航空订票系统 计算机科学与技术专业毕业设计 毕业论文.doc
- 酒精浓度检测仪 电子信息科学与技术专业毕业设计 毕业论文.doc
- 大连民族学院本科毕业设计论文模板 典型草原小尺度上土壤理化性状的空间异质性及与生物量的关系.doc
- 计算机科学与技术专业 毕业设计外文翻译.doc
- 论单位犯罪中之“单位” 电大法学本科毕业论文.doc
最近下载
- 青少年趣味编程(Python)第十一节多分支选择if-elif 课后服务.pptx VIP
- 金蝶云星空+V7.6产品培训_财务_税务管理.pptx VIP
- 药品生产质量管理题库(附答案).docx VIP
- 山东省青岛市李沧区九年级(上)期末化学试卷 (2).doc VIP
- 办公楼保洁项目重点难点及解决方案.pdf VIP
- 卫生院职能部门对药物临床应用进行监测与评价,有持续改进的成效.docx VIP
- 满足顾客需求培训(ppt 39页).ppt VIP
- 22S702 室外排水设施设计与施工-钢筋混凝土化粪池图集.pdf VIP
- 青少年趣味编程(Python)第十节 if-else条件语句 课后服务.ppt VIP
- 教学课件24 稀硝酸生产.ppt VIP
原创力文档


文档评论(0)