#include <stdio.h>
// 全局变量
float balance = 1000.0;
float transactions[100];
int transaction_count = 0;
// 函数声明
void displayMenu();
void checkBalance();
float deposit(float amount);
float withdraw(float amount);
void displayTransactionHistory();
int main() {
int choice;
float amount;
printf("欢迎来到银行账户管理系统!\n");
do {
displayMenu();
printf("请选择操作 (1-5): ");
scanf("%d", &choice);
switch (choice) {
case 1:
checkBalance();
break;
case 2:
printf("请输入存款金额: $");
scanf("%f", &amount);
if (amount > 0) {
balance = deposit(amount);
} else {
printf("无效金额!\n");
}
break;
case 3:
printf("请输入取款金额: $");
scanf("%f", &amount);
if (amount > 0) {
balance = withdraw(amount);
} else {
printf("无效金额!\n");
}
break;
case 4:
displayTransactionHistory();
break;
case 5:
printf("谢谢使用银行账户管理系统!\n");
break;
default:
printf("无效选择!\n");
}
} while (choice != 5);
return 0;
}
void displayMenu() {
printf("\n=== 银行账户管理系统 ===\n");
printf("1. 查看余额\n");
printf("2. 存款\n");
printf("3. 取款\n");
printf("4. 交易历史\n");
printf("5. 退出\n");
}
void checkBalance() {
printf("当前余额: $%.2f\n", balance);
}
float deposit(float amount) {
balance += amount;
transactions[transaction_count++] = balance;
printf("成功存入 $%.2f\n", amount);
printf("新余额: $%.2f\n", balance);
return balance;
}
float withdraw(float amount) {
if (amount > balance) {
printf("余额不足。你的余额是 $%.2f\n", balance);
return balance;
}
balance -= amount;
transactions[transaction_count++] = balance;
printf("成功取出 $%.2f\n", amount);
printf("新余额: $%.2f\n", balance);
return balance;
}
void displayTransactionHistory() {
if (transaction_count == 0) {
printf("还没有记录交易。\n");
return;
}
printf("=== 交易历史 ===\n");
printf("每次交易后的余额:\n");
for (int i = 0; i < transaction_count; i++) {
printf("交易 %d: $%.2f\n", i + 1, transactions[i]);
}
}