《校园导游》课程设计报告《校园导游》课程设计报告.doc

《校园导游》课程设计报告《校园导游》课程设计报告.doc

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《校园导游》课程设计报告《校园导游》课程设计报告

课程设计报告 课程:数据结构 学号:0810111026 姓名:章阳 班级:08普本非师 教师:王群芳 时间:2010.6.30 合肥师范学院计算机科学与技术系 设计名称:校园导游 日期: 2010 年 6月 30 日 设计内容:用无向网表示学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。 设计目的与要求: 查询各景点的相关信息 查询图中任意两个景点间的最短路径 查询图中任意两个景点间的所有路径 增加、删除、更新有关景点和道路的信息 系统分析: 邻接表中的顶点的信息用数组存储,本系统为了实现景点的增加,删除功能,采用了顶点信息用链表做为存储结构,可以方便的实现这些功能。在顶点的存储结构中,不仅有数据域(一个景点结构体,存放景点的编号,名称,介绍),指针域有指向下一个景点地址的nextV和指向其所对应边的下一个景点编号nextArc。表结点里放有路径的长度和景点编号,这是本系统的存储方式。 本系统实现了对景点和道路的增加,删除,更新功能,且实现了任意景点之间的最短路径,和任意两景点的所有路径。 本系统可以按菜单的方式进行操作,并且在主菜单中设置了两个隐藏函数,其中操作6为Print用邻接表的形式显示景点编号和操作7为PrintMatrix用矩阵的形式显示道路长度,从而来检测对景点和道路的增加,删除,更新是否实现。 测试数据及结果: 上图中,共有10个景点,16条道路。其中圆圈为各个景点(编号、名称、介绍),边为道路(长度)。 进入程序,选择是否使用默认数据: 创建图成功: 选择主操作1: 选择主操作2: 选择主操作3: 选择主操作4: 选择副操作1: 选择副操作2: 选择副操作3: 选择副操作4: 选择副操作5: 选择副操作6: 选择隐藏菜单Print: 选择隐藏菜单PrintMatrix: 设计体会: 本程序从设计到实现一共花了一个星期,感觉不是很难,但是要用心去做。在这次课程设计中,我再次感觉到自己做程序要站在顾客角度上,让程序更加合理,更加人性化。对于本次课程设计所用到的算法,我都想了很长时间,其中怎么输出所有路径,我还参考了网上的一些资料,最后用了广度优先有哪些信誉好的足球投注网站完成。做完了课程设计,感觉自己一下轻松起来,程序出来了,我也该继续下了一个设计。 附录(源程序清单): #includeiostream using namespace std; #includecstring #includevector #define MAX_VERTEX_NUM 50 typedef struct Scenery { char sno[4];//景点编号 char sname[21];//景点名称 char stext[201];//景点介绍 }Scenery;//景点结构 typedef struct ArcNode { char sno[4];//景点编号 int length;//道路长度 struct ArcNode* next; }ArcNode;//表结构 typedef struct VNode { Scenery sc; struct VNode* nextV; ArcNode* nextArc; }VNode;//顶点结构 //图结构 typedef struct { VNode* V;//指向第一个顶点的指针 int vexnum,arcnum; }Graph; //矩阵结构 typedef struct { char vexs[MAX_VERTEX_NUM][4];//景点编号数组 int arcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM];//道路长度矩阵 int vexnum,arcnum; }Matrix; //一行星号 void Start(int n) { cout\t; for(int i=0;in;++i) cout*; coutendl; } //主菜单 void FMenu() { Start(60); cout\t\t\t1)查询各景点的相关信息endl; cout\t\t\t2)查询图中任意两个景点间的最短路径endl; cout\t\t\t3)查询图中任意两个景点间的所有路径endl; cout\t\t\t4)增加、删除、更新景点和道路的信息endl; cout\t\t\t0)退出程序endl; Start(60);

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档