📅  最后修改于: 2023-12-03 15:07:52.698000             🧑  作者: Mango
在C语言中,使用Switch-case语句来实现菜单驱动程序是一种非常常见的方式。这种方式通常用于实现菜单选择功能,用户可以通过菜单选择想要执行的操作。
以下是使用Switch-case实现菜单驱动程序的步骤:
首先,需要为每个菜单项定义唯一的标识符。这些标识符可以是整数、字符或字符串类型。例如:
#define NEW_ACCOUNT 1
#define DEPOSIT 2
#define WITHDRAW 3
#define BALANCE_ENQUIRY 4
#define EXIT 5
接下来,需要编写代码显示菜单选项。可以使用printf函数打印每个菜单项的标识符和对应的操作。例如:
printf("1. New Account\n");
printf("2. Deposit\n");
printf("3. Withdraw\n");
printf("4. Balance Enquiry\n");
printf("5. Exit\n");
使用scanf函数读取用户输入的选项标识符。例如:
int option;
printf("Enter your choice: ");
scanf("%d", &option);
使用Switch-case语句根据读取到的标识符执行对应的操作。例如:
switch (option) {
case NEW_ACCOUNT:
// 添加新账户的代码
break;
case DEPOSIT:
// 存款的代码
break;
case WITHDRAW:
// 取款的代码
break;
case BALANCE_ENQUIRY:
// 查询余额的代码
break;
case EXIT:
// 退出程序的代码
break;
default:
printf("Invalid option!\n");
break;
}
当用户选择一个没有在菜单列表中出现的选项时,程序将进入default块并打印“Invalid option!”错误消息。
以下是一个简单的示例程序,实现了银行账户功能的菜单驱动程序:
#include <stdio.h>
#define NEW_ACCOUNT 1
#define DEPOSIT 2
#define WITHDRAW 3
#define BALANCE_ENQUIRY 4
#define EXIT 5
int main() {
int option;
float balance = 0;
do {
printf("1. New Account\n");
printf("2. Deposit\n");
printf("3. Withdraw\n");
printf("4. Balance Enquiry\n");
printf("5. Exit\n");
printf("Enter your choice: ");
scanf("%d", &option);
switch (option) {
case NEW_ACCOUNT:
printf("Account created!\n");
break;
case DEPOSIT:
float amount;
printf("Enter deposit amount: ");
scanf("%f", &amount);
balance += amount;
printf("Deposit successful!\n");
break;
case WITHDRAW:
printf("Enter withdrawal amount: ");
scanf("%f", &amount);
if (balance < amount) {
printf("Insufficient balance!\n");
} else {
balance -= amount;
printf("Withdrawal successful!\n");
}
break;
case BALANCE_ENQUIRY:
printf("Your balance is %.2f\n", balance);
break;
case EXIT:
printf("Goodbye!\n");
break;
default:
printf("Invalid option!\n");
break;
}
} while (option != EXIT);
return 0;
}
该程序可以进行用户选项的选择,然后执行相应的操作,比如创建新的账户、存款、取款、查询余额等操作。