1、 课 程 设 计 说 明 书 题目 迷宫系统 系(部) 计算机科学与技术系 专 业 ( 班 级 ) 软件工程 姓名 学号 指导教师 起止日期 2011-09-4 到 2011-09-9 课程设计任务书 课程名称:课程名称:数据结构课程设计 一一、课程设计的题目、课程设计的题目 迷宫问题 二二、设计内容、设计内容 1 1、迷宫问题、迷宫问题 问题描述问题描述: 以一个 m*n 的长方阵表示迷宫,0 和 1 分别表示迷宫中的通路和障碍。迷宫问题要求 求出从入口(1,1)到出口(m,n)的一条通路,或得出没有通路的结论。 基本要求基本要求: 首先实现一个以链表作存储结构的栈类型, 然后编写一个求迷宫
2、问题的非递归程序, 求 得的通路以三元组(i,j,d)的形式输出,其中: (i,j)指示迷宫中的一个坐标, d 表 示走到下一坐标的方向。 测试数据:测试数据: 左上角(1,1)为入口,右下角(m,n)为出口。 选作内容:选作内容: (1)编写递归形式的算法,求得迷宫中的所有可能的通路 (2)以方阵的形式输出迷宫及其通路迷宫中的所有可能的通路 设计工作量:设计工作量:40 课时 工作计划:工作计划: 见课表 指导教师签名: 日期: 教研室主任签名: 日期: 系主任签名: 日期: 长沙学院课程设计鉴定表长沙学院课程设计鉴定表 姓名 贺承誉 学号 2010022634 专业 软件工程 班级 软件六
3、班 设计题目 迷宫问题 指导教师 魏歌 指导教师意见: 评定等级: 教师签名: 日期: 答辩小组意见: 评定等级: 答辩小组长签名: 日期: 教研室意见: 教研室主任签名: 日期: 系(部)意见: 系主任签名: 日期: 说明 课程设计成绩分“优秀” 、 “良好” 、 “及格” 、 “不及格”四类; 摘摘 要要 计算机系的课程设计, 我设计了一个迷宫系统, 利用了栈结构来保存所走的迷宫路 径,可以实现寻找迷宫通路的功能,当无法找到出口时,可提示用户不存在路径。 迷宫的地图可由手动输入,包括迷宫的行数与列数、迷宫的具体布局。 关键词关键词:课程设计;迷宫;数据结构。 目录目录 1.1.设计内容与要
4、求设计内容与要求 . 1 2.2.设计说明设计说明 2 2.12.1 界面设计界面设计 2 2.2.2 2 数据结构数据结构 3 3.3.实现与测试实现与测试 4 3.13.1 结果结果 4 3.23.2 测试过程测试过程 5 总结总结 7 参参考文献考文献 8 附录附录 A A 源代码源代码. 9 1 1.1.设计内容与要求设计内容与要求 设计要求:设计要求: 问题描述问题描述: 以一个 m*n 的长方阵表示迷宫,0 和 1 分别表示迷宫中的通路和障碍。迷宫问题要求 求出从入口(1,1)到出口(m,n)的一条通路,或得出没有通路的结论。 基本要求:基本要求: 首先实现一个以链表作存储结构的栈
5、类型, 然后编写一个求迷宫问题的非递归程序, 求 得的通路以三元组(i,j,d)的形式输出,其中: (i,j)指示迷宫中的一个坐标, d 表示 走到下一坐标的方向。 测试数据:测试数据: 左上角(1,1)为入口,右下角(m,n)为出口。 选作内容:选作内容: (1)编写递归形式的算法,求得迷宫中的所有可能的通路 (2)以方阵的形式输出迷宫及其通路迷宫中的所有可能的通路 2 2.2.设计说明设计说明 2.12.1 界面设计界面设计 迷宫系统欢迎界面如图 2.1 所示。 由三个菜单组成,为创建地图、打印路径与退出。 图 2.1 迷宫系统欢迎界面 迷宫界面如图 2.2 所示。 先按 1 创建地图,再
6、输入迷宫行与列,再输入迷宫布局,出现图 2.2 的内容。 图 2.2 迷宫游戏界面 路径界面如图 2.3 所示。 创建好地图之后,按 2 就可以打印路径。 图 2.3 路径界面 3 2.22.2 数据结构数据结构 数据结构图如 图 2.4 所示。 主函数调用迷宫函数,迷宫函数调用输出路径函数,从而实现功能。 图 2.4 数据结构图 迷宫函数 输出路径函 主函数 结果 4 3.3.实现实现与测试与测试 优良。整个测试包含如下内容: a. 综合评估: 整个软件开发难度还算较简单,过程虽然繁琐,容易出错,但总的结果还算可以。 整体上较好,样式简单,美观。 b. 软件开发中计划的执行情况: 测试页面的连接情况及是否出现异常状况。 测试结果状况良好,无出现不良情况。 c. 软件质量目标完成情况: 完成情况良好,质量品质 3.13.1 结果结果 输入一些临界数据进行测试: 当输入的迷宫为 4*4 的 1 1 1 1 1 1 1 1