c语言菜单函数怎么写
时间: 2024-09-07 22:01:44 浏览: 80
在C语言中编写一个简单的菜单函数,通常会包含以下几个步骤:
1. 定义一个主循环,这个循环将负责显示菜单并处理用户的选择。
2. 创建一个函数数组,每个元素对应菜单中的一个选项,该数组的索引作为选项的数字标识。
3. 写一个函数用于打印菜单及其对应的编号。
4. 实现一个接收输入并解析选择的函数。
5. 根据用户的选择调用相应的函数或执行相应操作。
这是一个基础示例:
```c
#include <stdio.h>
#include <string.h>
// 菜单选项和对应的函数指针
typedef void (*menu_func_t)(void);
// 函数指针数组
static menu_func_t menu_options[] = {
// 功能1的函数指针
NULL,
// 功能2的函数指针
function2,
// 功能3的函数指针
function3
};
// 打印菜单函数
void print_menu(void) {
int i;
for (i = 0; i < sizeof(menu_options)/sizeof(menu_options[0]); ++i) {
if (menu_options[i]) {
printf("%d - %s\n", i + 1, menu_options[i]->name);
}
}
}
// 接收用户输入并切换到对应功能
int handle_selection(int selection) {
return menu_options[selection - 1] ? selection : -1; // 如果选择无效返回错误码
}
int main() {
while (true) {
print_menu();
int choice;
scanf("%d", &choice);
choice = handle_selection(choice); // 解析用户选择
if (choice != -1) { // 如果选择有效
menu_options[choice - 1](); // 调用对应的功能函数
} else {
printf("Invalid selection.\n");
}
}
return 0;
}
```
阅读全文