(校园导游系统)c语言.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数据结构》课程设计 PAGE PAGE 9 中南民族大学计算机科学学院 专业:软件工程 学号: 姓名:闪珊珊 校园导游咨询 一、目的 1、 对自己学过的知识进一步的加深理解,对数据结构的算法思想要有更深的理解。 2、通过课程设计,学会通过系统分析、系统设计、编程调试,写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用 。 3、学会综合运用数据结构课程中学到的数据结构和算法,如图的存储结构,数组,迪杰斯特拉算法和Floyd算法等自行实现一个较为完整的应用系统的设计与开发。 二、需求分析 1、功能需求 (1)在菜单中显示校园景点地图。 (2)能够查找任意景点的路径。 (3)能够自动查找用户键入始点景点和终点景点的最短路径。 (4)用户能够查询任意景点的景点信息。 2、输入 根据菜单提示键入相应的数字键已完成相应的操作。例如:在菜单界面中键入数字3,再根据系统提示键入始点和终点对应的编号,系统便会输出相应的路径。 3、输出 程序将根据用户键入的数字键,调用相应函数,完成查找过程,并将结果输出到屏幕。 三 、概要设计 1、变量定义 typedef struct //图中顶点表示主要景点,存放景点的编号、名称、简介 { char name[30]; int num; char introduction[100];//简介 }infotype; typedef struct ArCell //定义结构体变量来储存路径长度 { int adj; //路径长度 }ArCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM typedef struct //景点信息的结构体定义: { infotype vexs[MAX_VERTEX_NUM]; AdjMatrix arcs; int vexnum,arcnum; }MGraph; MGraph b; 2.函数模块 void cmd( );//菜单选择模块 MGraph InitGraph( );//赋值函数 void Menu(void);//菜单函数 void Browser(MGraph *G);//浏览景点信息的函数 void ShortestPath_DIJ(MGraph * G);//迪杰斯特拉算法 void Floyd(MGraph *G);//Floyd 算法 void Search(MGraph *G);//查找景点信息函 ()(MGraph *G);//初始化图形 void print(MGraph *G);//校园全景显示函数 Mian()3、流程图 Mian() Print()Cmd() Print() Cmd() Menu() Menu() Search() exit Search() exit Floyd( ) ShortestPath_DIJ() ShortestPath_DIJ() Browser( ) MGraph InitGraph() MGraph InitGraph() 四、详细设计 MGraph * CreatUDN(MGraph *G)//初始化图形,接受用户输入 { int i,j,k,w; char v1[20],v2[20]; printf(请输入图的顶点数,弧数:); scanf(%d %d,G-vexnum,G-arcnum); printf(请输入景点的编号:、名称、简介:\n); for(i=0;iG-vexnum;i++) { printf(景点编号:); scanf(%d,G-vexs[i].num); printf(景点名称:); scanf(%s,G-vexs[i].name); printf(景点简介:); scanf(%s,G-vexs[i].introduction); } for(i=0;iG-vexnum;i++) for(j=0;jG-vexnum;j++) G-arcs[i][j].adj=INFINITY; printf(请输入路径长度:\n); for(k=0;kG-arcnum;k++) { printf(第%d条边:\n,k+1); printf(景点对(x,y):); scanf(%s,v1); scanf(%s,v2); printf(路径长度:); scanf(%d,w); i=LocateVex(G,v1); j=LocateVex(G,v2); if(i=0j=0)

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档