软件综合实习
if(Mazepath(maze,m,n)) //调用Mazepath(int **maze,int
m,int n)函数获取路径 {
} else {
探索】━━━━
━━━━━┫ \\n\
┃ \\n\
径〗
┃ \\n\
┃ \\n\
┃ \\n\
信息科学与工程学院
cout<<\《抱歉》!此路径不通!\\n\\n\ printf(\┣━━━━━━━━━【迷宫路径
printf(\┃
printf(\┃ ⑴〖输入迷宫路
printf(\┃ ⑵〖清空屏幕〗 printf(\┃ ⑶〖结束探索〗
- 30- 网络工程11-1班
软件综合实习
printf(\┃
┃ \\n\ ━━━━━━━━
printf(\┣━━━━━━━━━━━━━
━━━━━┫ \\n\
printf(\ }
printf(\ break;
}
case 2:
{
system(\清屏函数
printf(\┣━━━━━━━━━【迷宫路径
探索】━━━━
━━━━━┫ \\n\
printf(\┃
┃ \\n\ 径〗
┃ \\n\
printf(\┃ ⑵〖清空屏幕〗
printf(\┃ ⑴〖输入迷宫路
信息科学与工程学院 - 31- 网络工程11-1班
软件综合实习
┃ \\n\
printf(\┃ ⑶〖结束探索〗
┃ \\n\
printf(\┃
┃ \\n\ ━━━━━━━━
printf(\┣━━━━━━━━━━━━━
━━━━━┫ \\n\
printf(\
break; }
case 3:
return 0;
default:
printf(\【输入有误】,请重新
输入!\\n\ }
}
}
return 0;
信息科学与工程学院 - 32- 网络工程11-1班
软件综合实习
//╞╪╪╪╪╪╪╪╪╪╪╪╪╪╪【存储迷宫函数】╪╪╪╪╪╪╪╪╪╪╪╪╪╪╪╪╪╪╡
string ** GetMaze(int &m,int &n) //返回存取迷宫的二维指针 {
string **maze; //定义二维指针存取迷宫
int i=0,j=0;
cout<<\【请输入】迷宫的长和宽:\int a,b;
cin>>a>>b; //输入迷宫的宽a和高b
cout<<\【请输入】迷宫内容:\\n\ //m,n分别代表迷宫的行数m和列数n
n=a; m=b;
maze=new string *[m+2]; //申请长度等于行数加2的二级指针【这句就是给一个指向指针的指
针动态分配m+2个存放int类型指针的数组,用于动态申请二维数组。】
for(i= 0;i maze[i]=new string[n+2]; for(i=1;i<=m;i++) //输入迷宫的内容,0代表可通,1代表不通 信息科学与工程学院 - 33- 网络工程11-1班 软件综合实习 { for(j=1;j<=n;j++) { cin>>maze[i][j]; } } for(i=0;i { maze[i][0]=maze[i][n+1]=\■\使纵向围墙为1,就是0列和6列纵向 } for(i=0;i { maze[0][i]=maze[m+1][i]=\■\使横向围墙为1,就是0行和6行横向 } return maze; //返回存贮迷宫的二维指针maze }; //╞╪╪╪╪╪╪╪╪╪╪╪╪╪╪【寻找迷宫路径函数】╪╪╪╪╪╪╪╪╪╪╪╪╪╪╪╪╪╪╡ 信息科学与工程学院 - 34- 网络工程11-1班