c++中怎么从子菜单返回到上一级菜单
时间: 2023-12-14 22:38:15 浏览: 279
在C++中,可以使用循环结构和条件语句来实现从子菜单返回到上一级菜单。
具体实现方式如下:
1. 在上一级菜单中添加一个“返回”选项,该选项对应一个特定的数字或字符,例如“0”或“R”。
2. 在进入子菜单之前,将上一级菜单的选项数字或字符保存到一个变量中,例如“parent_option”。
3. 进入子菜单后,使用循环结构和条件语句判断用户输入的选项是否为“返回”,如果是,则跳出循环返回上一级菜单;如果不是,则执行子菜单对应的操作。
4. 在返回上一级菜单时,可以使用switch语句或者if-else语句根据“parent_option”变量的值来判断返回到哪个上一级菜单。
示例代码如下:
```c++
// 定义上一级菜单的选项
const char PARENT_OPTION = 'R';
// 进入子菜单前保存上一级菜单的选项
char parent_option = '0';
// 上一级菜单
void parent_menu() {
cout << "1. 选项1" << endl;
cout << "2. 选项2" << endl;
cout << "0. 返回" << endl;
parent_option = getchar(); // 获取用户输入
cin.ignore(); // 忽略多余输入
switch (parent_option) {
case '1':
// 执行选项1操作
break;
case '2':
// 执行选项2操作
break;
case PARENT_OPTION:
// 返回上一级菜单
break;
default:
// 输入错误,提示重新输入
cout << "请输入有效选项!" << endl;
break;
}
}
// 子菜单
void child_menu() {
cout << "1. 子菜单选项1" << endl;
cout << "2. 子菜单选项2" << endl;
cout << "0. 返回" << endl;
char child_option = '0';
while (child_option != PARENT_OPTION) {
child_option = getchar(); // 获取用户输入
cin.ignore(); // 忽略多余输入
switch (child_option) {
case '1':
// 执行子菜单选项1操作
break;
case '2':
// 执行子菜单选项2操作
break;
case PARENT_OPTION:
// 返回上一级菜单
break;
default:
// 输入错误,提示重新输入
cout << "请输入有效选项!" << endl;
break;
}
}
}
// 主函数
int main() {
char option = '0';
while (option != 'Q') {
cout << "1. 上一级菜单" << endl;
cout << "2. 进入子菜单" << endl;
cout << "Q. 退出程序" << endl;
option = getchar(); // 获取用户输入
cin.ignore(); // 忽略多余输入
switch (option) {
case '1':
parent_menu();
break;
case '2':
child_menu();
break;
case 'Q':
// 退出程序
break;
default:
// 输入错误,提示重新输入
cout << "请输入有效选项!" << endl;
break;
}
}
return 0;
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)