课程设计报告参考模板.doc

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE PAGE 22 《创新设计》报告 ( 2008- 2009 年度第2 学期) 设计题目: 校园导航问题 学 院: 软 件 学 院 专 业: 软 件 工 程 姓 名: 黄秋萍 学 号: 220700335 指导教师: 江兰帆 日期: 2009 年 6 月 校园导航问题 [问题描述] 设计一个校园导游程序,为来访的客人提供各种信息查询服务。 [基本要求] (1)设计福州大学新校区的校园平面图,所含景点不少于十个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等信息。 (2)为来访客人提供图中任意景点相关信息的查询。 (3)为来访客人提供图中任意景点的问路查询,即查询任意两个顶点之间的一条最短的简单路径。 (4)为来访客人提供多个景点的最佳路径,包括确定起始点和不确定起始点 [测试数据] 【7】北门 【7】北门 【10】素拓 【9】文楼 【3】教学区 【4】生活区 【11】体育馆 【1】图书馆 【2】行政北楼 【8】学生街 【6】东门 【5】行政南楼 20 单位:米 90 100 40 100 40 10 40 50 30 50 30 30 60 100 40 60 【12】游泳馆 30 50 一、需求分析 1.从我们学校的地图任意选取了12个景点,并给它们的距离赋值(详细见附录一) 2.本程序为用户提供了各种各样的查询信息,各种查询都可以任意选择从代号或名称,选择时的任意错误都有做处理。本题抽象看成一个无向带权图。图的结点代表景点,边代表路径。 (1)任意一个景点的相关信息。 (2)任意两个景点间的最短路径并输出了这条路径的路线。 (3)任意两个景点间的所有路径。 (4)多个景点的最佳路径 3.测试数据 二、概要设计 1.设定抽象类型定义: 顶点,边和图的类型 #define max 30 //途中顶点数的最大值 using namespace std; struct ac{ int jl; //边的权,表示路径长度 }; struct fengjing{ int num; //存放代号 string sight; //存放风景名称 string descri; //存放风景简介 }; struct zhuyao{ fengjing F[max]; //存放图中的顶点,即景点 ac H[max][max]; //存放图中的边,即为景点间的距离 int n, e; //顶点数和边数 }; struct doudian{ // 附加题最后一道题用到的,变量名为Q string name; //用于存放景点的名称 int flas; //每存入一条,就标志一下,用于判断 是否有通过该点 }; 2.全局变量类型: //用于多个景点的最短路径,两个代号的所有路径都存入这个全局变量 doudian Q[1500][max]; //把Q中所对应的路径长度存入全局变量mm数组中 long mm[1500]; //全局总变量,图的总体变量 zhuyao M; // 用于多个景点的最佳路径,给每个符合代号的所有路径总条数计数 int jj=0; //判断是多个景点的最短路径还是两个景点的所有路径调用函数 bool cc=0; //是allpath中用来存放路径的顶点 long D[max]; //存放从顶点i到j的最短路径经过的中间顶点的最大序号k int p[max][max]; 。 //用于两点间的最短路径函数中存放两个景点的最短路径 int shortest[max][max]; //是allpath中用来标记已通过的景点 bool visited[max]; 3.图的基本操作函数: void creat(); 初始条件:全局变量M存在,其中文本已有设置景点数,几条边,景点的名称,简介,矩阵表示两个景点的距离,并且如果两个景点没有直接相邻,路径用20000表示 操作结果:构造了图的基本信息,读入要设置几个顶点,几条边,图的简介,读入两个景点间的距离,如果不存在直接相邻,则赋为20000 void jieshao(); 初始条件:图已存在 操作结果:形成程序的界面,上面总有着景点的名字,他们的代号 char menu(); 初始条件:图已存在 操作结果:让用户自己选择是要用代号查询还是用名字查询 int search1(char c); 初始条件

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档