课程设计报告2内容.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计报告2内容

一. 设计目的 强化上机动手能力,在理论和实践的基础上进一步巩固《数据结构》课程学习的内容,掌握工程化软件设计的基本方法; 掌握图的创建和应用; 掌握迪杰斯特拉以及Prim等基本算法思想; 掌握if语句及switch语句的运用方法及嵌套应用方法; 掌握C语言主函数和被调用函数之间的参数传递方式,学会函数的调用过程和方法; 掌握结构体类型变量的定义和使用; 掌握指针变量和指向指针的指针变量的定义及使用,进一步了解指向结构体的指针变量的概念及使用方法; 能够采用模块化思想调试程序; 学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力; 为后续各门计算机课程的学习打下坚实基础。 二. 设计内容 用C语言编写了《西邮校园导游咨询系统》,通过使用循环、条件、数组、结构体、函数、指针、等相关C语言知识学习编写较大的程序,结合数据结构中的算法思想实现一个导游咨询系统基本的功能。 三.概要设计 1.功能模块图; 2.各个模块详细的功能描述。 (1).浏览校园全景 可让用户浏览校园平面全景图,图上信息包括景点名称,路径长度,风景位置,ATM机位置等,一目了然。 (2). 查看景点信息 用户根据界面显示的校园景点信息表,输入要查询的景点名称,可以查看景点信息。 (3). 从一个景点到其他所有景点的最短距离 利用迪杰斯特拉算法,由用户输入要查询的景点编号,查询该景点到其余所有景点的最短路径,以及最短路径长度。 (4). 从某一景点出发的最短连通路线 利用Prim算法求最短连通图,也就是说,让用户输入起始的景点名称就可以查询由该景点出发的所有最短连通图。 (5). 用户输入出发点和目的地获取所有游览线路 利用图的深度遍历,调用递归的思想逐个遍历景点,找到由出发点到目的地的所有游览路线,并打印出来。 (6). 两个景点之间的最短距离 在菜单中通过switch语句进入排序功能,同样使用迪杰斯特拉算法求出图中两个节点之间的最短路径,这里由用户输入两个景点的名称就可查询两个景点之间的最短路径,以及路径长度。 (7). 修改景点信息,新西邮 在菜单中通过switch语句进入修改功能,输入要修改的景点信息数目以及要修改景点的序号,输入新的信息以及修改的路径,即修改成功,重新查询就可查询到新的景点信息。 (8). 西邮沿途风景,ATM机介绍新鲜资讯 在菜单中通过switch语句进入查询功能,改模块主要是方便用户了解西邮的推荐景点的位置以及常用的ATM机的位置,每天会更新“旭日苑”和“美食广场”推荐的美食,我觉得是个比较贴近生活的模块。 (9).安全退出 用exit(0)实现,退出导游系统; (10).main 函数 通过主函数main() 2.各功能函数的数据流程图 录入信息模块 查找信息模块 两景点最短路径模块 两景点所有路径模块 一景点出发的最短连通路径模块 修改景点信息模块 3.重点设计及编码 //利用Dijkstra算法求得从起点景点到终点景点的最短路线 void Dijkstra(AdjMatrix *G,int start,int end,int dist[],int path[][MAX]) { int mindist,i,j,k,t=1; for(i=0;iG-vexnum;i++)//初始化 { dist[i]=G-arcs[start][i]; if(G-arcs[start][i]!=INFINITY) path[i][1]=start; } path[start][0]=1; for(i=1;iG-vexnum;i++)//寻找各终点 { mindist=INFINITY; for(j=0;jG-vexnum;j++)//选择路线最短的线路 if(!path[j][0]dist[j]mindist) { k=j; mindist=dist[j]; } if(mindist==INFINITY) return; path[k][0]=1; for(j=0;jG-vexnum;j++)//修改路线 { if(!path[j][0]G-arcs[k][j]INFINITYdist[k]+G-arcs[k][j]dist[j]) { dist[j]=dist[k]+G-arcs[k][j]; t=1; while(path[k][t]!=0)//记

文档评论(0)

wawahao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档