前言
**第一个while条件设为a<4,当 a+4 后能够实现退出所有循环
**第二个while条件设为a<3,当 a+3 后使其跳到条件为a<4的while循环
**第三个while条件设为a<2,当 a+2 后使其跳到条件为a<3的while循环
**第四个while条件设为a<1,(要是这里设true,行不行?)不行! 设为true,不管a+多少,始终满足此while(true)循环,导致跳不出去
{以下不用switch的原因是:if、else能规避一些错误输入}
话不多说,直接上代码。
#include<iostream>
using namespace std;
int main(){
int a=0;
while(a<4)
{
a=0;//初始化变量a
cout<<"1,开始 2,退出"<<endl;
int select0=0;
cin>>select0;
if(select0==1)
{
while(a<3)
{
a=0;//初始化变量a
cout<<"这是第一层"<<endl;
cout<<"请选择:"<<endl;
cout<<"1,去第二层 2,返回返回主界面"<<endl;
int select1=0;
cin>>select1;
if(select1==1)
{
while(a<2)
{
a=0;//初始化变量a
cout<<"这是第二层"<<endl;
cout<<endl;
cout<<"请选择:"<<endl;
cout<<"1,去第三层 2,返回第一层 3,返回主界面 4,退出"<<endl;
int select2=0;
cin>>select2;
if(select2==1)
{
while(a<1)
{
a=0;//初始化变量a
cout<<"这是第三层"<<endl;
cout<<endl;
cout<<"请选择:"<<endl;
cout<<"1,去第四层 2,返回第二层 3,返回主界面 4,去第一层 5,退出"<<endl;
int select3=0;
cin>>select3;
if(select3==1)
{
cout<<"这是第四层"<<endl;
cout<<"已经是最底层了!"<<endl;
}
else if(select3==2)
{
break;
}
else if(select3==3)
{
a+=3;
}
else if(select3==4)
{
a+=2;
}
else{
a+=4;
}
}
}
else if(select2==2)
{
break;
}
else if(select2==3)
{
a=a+3;
}
else{
a=a+4;
}
}
}
else{
break;
}
}
}
else{
break;
}
}
system("pause");
return 0;
}
补充一点:所有跳出当前循环的break;都能替换为【while(a<n)】a=a+n,来实现。
----------这就实现了想去哪层就去那层----------