c语言实现多级菜单,代码越详细越好
时间: 2023-12-12 12:03:12 浏览: 114
单片机C语言下LCD多级菜单的一种实现方法
好的,下面是一个实现多级菜单的示例代码,代码注释比较详细,希望对您有帮助:
```c
#include <stdio.h>
int main() {
int choice[3] = {0}; // 用数组来存储用户的选择
int menuLevel = 0; // 菜单级别,0表示第一级菜单
int maxLevel = 2; // 最大的菜单级别,这里设置为2
while (1) {
// 显示菜单
switch (menuLevel) {
case 0:
printf("1. 选项1\n");
printf("2. 选项2\n");
printf("3. 选项3\n");
printf("0. 退出\n");
break;
case 1:
printf("1. 子选项1\n");
printf("2. 子选项2\n");
printf("3. 子选项3\n");
printf("0. 返回上一级菜单\n");
break;
case 2:
printf("1. 子子选项1\n");
printf("2. 子子选项2\n");
printf("3. 子子选项3\n");
printf("0. 返回上一级菜单\n");
break;
}
// 提示用户选择
printf("请选择:");
scanf("%d", &choice[menuLevel]);
// 处理用户选择
switch (choice[menuLevel]) {
case 1:
if (menuLevel < maxLevel) {
// 进入下一级菜单
menuLevel++;
} else {
printf("你选择了子子选项1\n");
}
break;
case 2:
if (menuLevel < maxLevel) {
// 进入下一级菜单
menuLevel++;
} else {
printf("你选择了子子选项2\n");
}
break;
case 3:
if (menuLevel < maxLevel) {
// 进入下一级菜单
menuLevel++;
} else {
printf("你选择了子子选项3\n");
}
break;
case 0:
if (menuLevel > 0) {
// 返回上一级菜单
menuLevel--;
} else {
printf("退出程序\n");
return 0;
}
break;
default:
printf("无效的选择,请重新选择\n");
break;
}
}
return 0;
}
```
在这个示例程序中,我们使用一个数组来存储用户的选择,使用一个变量来表示当前的菜单级别。当用户选择一个选项时,程序会根据当前的菜单级别和用户的选择来判断下一步该显示哪个菜单,或者执行哪个操作。如果用户选择了返回上一级菜单,程序会根据当前的菜单级别来判断需要返回哪个菜单。程序会一直循环,直到用户选择退出。
阅读全文