- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构校园导游程序
武汉长江工商学院
计算机科学与技术系
项目名称: 校园导游程序 学生姓名: 朱捷 学号: 班级: 12801 指导教师: 刘莹
2013年12月9日
目录
1.课程设计的目的与意义 1
1.1课程设计的目的 1
1.2课程设计的意义 1
2.系统功能描述及设计 1
3.系统存储结构及描述 3
4.系统功能实现及算法描述 5
4.1校园景点信息的录入 5
4.2查询图中任意两个景点间的最短路径 6
4.3查询图中任意一个景点到其他景点的所有路径 7
4.4查询任意两景点间的所有路径 8
5. 系统性能测试 9
5.1 主界面 9
5.2浏览校园全景 9
5.3查询图中任意两个景点间的最短路径 10
5.4查询图中任意一点到其他景点间的所有路径 10
5.5查询任意两个景点间的所有路径 11
6.设计小结 11
参考文献 11
源代码清单 12
1.课程设计的目的与意义
1.1课程设计的目的
随着社会的发展,人们对生活的也要求越来越高,从以前的一切都用手用笔的时代到了一切都可以用机器代替的时代。现在的大学校园越来越大了,对于对新学校不熟悉和对于外来着更好的参观和游览学校,特做了这个校园导游图,它能输出所有校园景点的简介供用户参考,并且能找到两个景点间最短路径,让用户少走弯路和冤枉路,而且还可以找到一个景点到其他景点的最短路径,可以提供使用者最好的游览路径。更多的功能将会在后续继续加入。
1.2课程设计的意义
巩固和加深学生对的基本知识的理解和掌握掌握C语言编程和程序调试的基本技能利用进行基本的软件设计掌握书写程序设计说明文档的能力提高运用解决实际问题的能力培养我们综合运用所学知识的能力和锻炼实践的能力,能够做到善于发现,提出,分析和解决实际问题。同时,进一步加深、巩固我们所学专业课程(《》)的基本理论知识如语句嵌套和循环,分支等结运用,理论联系实际,进一步培养学生综合分析问题和解决问题的能力。掌握运用C语言独立地编写、调试应用程序和进行其它相关设计的技能,扩展自己的知识面,充分发挥广大同学的潜力,提高程序开发能力,使我们通过这次课程设计而得到全面的锻炼。
图2-1系统功能描述
3.系统存储结构及描述
下面将给出程序代码的部分代码,将详细介绍系统的存储结构。如:
struct infotype
{
char name[20];
int num;
char introduction[100];
weighttype maxvalue;
};
struct Mgraph
{ infotype vexs[MAXVER]; //定义存储定点信息的数组类型
infotype arcs[MAXVER][MAXVER]; //定义存储邻接矩阵的数组类型
int vexnum,arcnum;
};
该存储结构:在上面的结构体中,包含了图中所需的景点名,景点个数,景点简介,而且存储了边数,还利用数组来存储两景点间是否有边,而且还包含了两景点间的权值。
for(i=0;iG.vexnum;i++)
G.vexs[i].num=i;
strcpy(G.vexs[0].name,弘德楼);
strcpy(G.vexs[0].introduction,学生公寓,主要为考研学生准备,环境良好。);
上面简单的几行代码就存储了一个景点的编号,名称,简介
for(i=0;iG.vexnum;i++)
for(j=0;jG.vexnum;j++)
G.arcs[i][j].maxvalue=FARMAX;
G.arcs[0][1].maxvalue=70;
for(i=0;iG.vexnum;i++)
for(j=0;jG.vexnum;j++)
G.arcs[j][i].maxvalue=G.arcs[i][j].maxvalue;
}
上面的代码利用了两个for循环很快的定义出了任意两个景点的关系,如是否存在边,存在边权值是大小(没有边则为事先定义的最大值,存在边则直接输入权值),同时也作出了无向图应有的特点,及是双向的,并且两边权值相等。
上面整个信息的录入存储了整个系统需要的数据,包括景点个数,边数,名称,简介,距离。有了这个函数,方便以后所有的需要数据的地方来调用它。
4.系统功能实现及算法描述
4.1校园景点信息的录入
该功能的实现是通过利
文档评论(0)