#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义银行账户结构体
typedef struct {
char accountNumber[20];
char accountHolderName[50];
double balance;
} BankAccount;
// 显示菜单
void showMenu() {
printf(“1. 创建账户\n”);
printf(“2. 存款\n”);
printf(“3. 取款\n”);
printf(“4. 查询余额\n”);
printf(“5. 退出\n”);
}
// 创建账户
void createAccount(BankAccount *accounts, int *numAccounts) {
BankAccount newAccount;
printf(“请输入账户号码: “);
scanf(”%s”, newAccount.accountNumber);
printf(“请输入账户持有人姓名: “);
scanf(”%s”, newAccount.accountHolderName);
newAccount.balance = 0.0;
accounts[*numAccounts] = newAccount;
(*numAccounts)++;
}
// 存款
void deposit(BankAccount *accounts, int numAccounts) {
char accountNumber[20];
double amount;
printf(“请输入要存款的账户号码: “);
scanf(”%s”, accountNumber);
int found = 0;
for (int i = 0; i < numAccounts; i++) {
if (strcmp(accounts[i].accountNumber, accountNumber) == 0) {
printf("请输入存款金额: ");
scanf("%lf", &amount);
accounts[i].balance += amount;
printf("存款成功!新余额: %.2f\n", accounts[i].balance);
found = 1;
break;
}
}
if (!found) {
printf("未找到该账户!\n");
}
}
// 取款
void withdraw(BankAccount *accounts, int numAccounts) {
char accountNumber[20];
double amount;
printf(“请输入要取款的账户号码: “);
scanf(”%s”, accountNumber);
int found = 0;
for (int i = 0; i < numAccounts; i++) {
if (strcmp(accounts[i].accountNumber, accountNumber) == 0) {
printf("请输入取款金额: ");
scanf("%lf", &amount);
if (amount <= accounts[i].balance) {
accounts[i].balance -= amount;
printf("取款成功!新余额: %.2f\n", accounts[i].balance);
found = 1;
break;
} else {
printf("余额不足,取款失败!\n");
found = 1;
break;
}
}
}
if (!found) {
printf("未找到该账户!\n");
}
}
// 查询余额
void checkBalance(BankAccount *accounts, int numAccounts) {
char accountNumber[20];
printf(“请输入要查询余额的账户号码: “);
scanf(”%s”, accountNumber);
int found = 0;
for (int i = 0; i < numAccounts; i++) {
if (strcmp(accounts[i].accountNumber, accountNumber) == 0) {
printf("账户余额: %.2f\n", accounts[i].balance);
found = 1;
break;
}
}
if (!found) {
printf("未找到该账户!\n");
}
}
int main() {
BankAccount accounts[100]; // 假设最多存储 100 个账户
int numAccounts = 0;
int choice;
do {
showMenu();
printf("请选择操作: ");
scanf("%d", &choice);
switch (choice) {
case 1:
createAccount(accounts, &numAccounts);
break;
case 2:
deposit(accounts, numAccounts);
break;
case 3:
withdraw(accounts, numAccounts);
break;
case 4:
checkBalance(accounts, numAccounts);
break;
case 5:
printf("退出程序\n");
break;
default:
printf("无效的选择,请重新输入\n");
}
} while (choice!= 5);
return 0;
}