1、 课课 程程 设设 计计 报报 告告 课程名称课程名称 数据结构课程设计数据结构课程设计 题题 目目 校园导航校园导航 指导教师指导教师 设计起始日期设计起始日期 5.95.16 学 院 计算机学院 系 别 计算机科学与工程 学生姓名 班级/学号 成 绩 一、一、 需求分析需求分析 本次实验设计的任务是实现一个简易的北京信息科技大学的校园导航平面图。设计要包 括下列要求: 设计你的学校的平面图,至少包括 10 个以上的场所,每两个场所间可以有不同的路, 且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径) 。 本课题实现校园多个场所(至少 10 个)的最短路径求解。 (1) 输入
2、的形式和输入值的范围: 本系统主要数据类型为字符型 char 及整形 int,char 型主要包括单位编号, 单位名称, 单位简介, 功能编号; 输入功能编号与单位编号进行操作。 (2 ) 输出的形式:输出则通过已有的信息数据,通过相关的操作输出相应信息。 (3) 程序所能达到的功能:本程序可供任何人使用,主要功能 1.浏览各单位及简介; 2.查看所有游览路线;3.选择出发点和目的地求出最佳路径;4.查看某一单位信息。 (4)测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。 a.首先看到的是校园导航系统的菜单: b查看浏览路线等待输入起始景点: C选择出发点与目的地 等待输入
3、起始景点与目的地编号: d参看景点信息等待输入景点编号: 二、二、 概要设计概要设计 本系统包含一个文件。设计分有菜单,显示信息,弗洛伊德算法,迪杰斯特拉算法, 查找景点信息等程序段。主程序为整系统的入口处,菜单主要实现显示系统功能,显示信息 主要实现显示景点信息, 弗洛伊德算法主要实现求两景点之间最短路径, 迪杰斯特拉算法实 现求两景点之间最短路径,查找景点信息主要实现显示某一景点信息。 系统首先通过主程序调用 void main( );进入系统主菜单函数,根据用户的选择可分别 进入:1.浏览各景点及简介;2.查看所有游览路线;3.选择出发点和目的地求出最佳路径; 4.查看景点信息;5.退出
4、系统。 选择“浏览各景点及简介”项,显示十个景点的有关信息,包括景点编号,景点名称, 景点简介。 选择“查看所有游览路线”项,会进入输入起始景点编号的界面,输入正确编号后会显 示起始景点到其余九个景点的最短路线的方案。 选择“选择出发点和目的地”项,会进入输入起始景点与目的景点的界面,输入起始景 点与目的景点,并有空格隔开就得到两景点之间的最佳路径。 选择“查看景点信息”项,会进入输入要查看的景点的界面,如入后会显示该景点的有 关信息。 选择“退出系统”项,就会退出程序。 三、三、 详细设计详细设计 (1)十三个单位的图 0: 前门 1:图书馆 2:教二楼 3:实验楼 4:操场 5:教一楼 6:食堂 7: 水房 8:学一公寓 9:学二公寓 10:学三公寓 11:学四公寓 12:后门 (2)主程序流程图: (3)弗洛伊德的算法: void Floyd(MGraph *G) int v,u,