c语言 多级菜单 按键 代码
时间: 2024-10-25 13:02:25 浏览: 11
C语言,多级菜单实现思路
在C语言中,创建一个多级菜单通常涉及到循环、条件判断和用户输入处理。下面是一个简单的示例,展示如何实现基本的文本菜单结构:
```c
#include <stdio.h>
// 定义菜单选项及其对应的函数指针
typedef void (*menu_func)(void);
// 菜单函数列表
enum {
MENU_EXIT = -1,
OPTION_1 = 0,
OPTION_2,
// 添加更多选项...
};
menu_func menu_options[] = {
NULL, // 初始化第一个元素为NULL表示结束
&option_1,
&option_2,
// 添加更多选项对应的函数地址...
};
// 函数示例
void option_1() {
printf("You chose Option 1.\n");
}
void option_2() {
printf("You chose Option 2.\n");
}
// 主菜单循环
void main_menu() {
int choice;
while (true) {
printf("\n--- Main Menu ---\n");
for (int i = 0; menu_options[i] != NULL; ++i) {
if (i == MENU_EXIT) {
printf("1. Exit\n");
} else {
printf("%d. %s\n", i + 1, menu_options[i]->name); // 假设每个选项都有一个名字属性
}
}
printf("\nEnter your choice: ");
scanf("%d", &choice);
if (choice == 1 || choice == MENU_EXIT) {
break; // 退出程序
} else if (choice > 0 && choice <= sizeof(menu_options)/sizeof(*menu_options)) {
menu_options[choice - 1](); // 执行对应的操作
} else {
printf("Invalid choice! Please try again.\n");
}
}
}
int main() {
main_menu();
return 0;
}
阅读全文