如何用C语言实现一个简单的模拟银行ATM机器的功能?
时间: 2024-09-15 12:11:45 浏览: 94
在C语言中实现一个简单的银行ATM机模拟,我们可以创建一个类似程序,包含基本的操作函数如存款、取款和查询余额。这里是一个简化的示例:
```c
#include <stdio.h>
#include <stdlib.h> // 用于动态内存分配
// 定义一个结构体表示账户信息
typedef struct {
int account_number;
double balance;
} Account;
// 功能函数声明
void deposit(Account* atm, int amount);
double withdraw(Account* atm, int amount);
void check_balance(Account* atm);
int main() {
Account atm; // 创建一个空的账户
atm.account_number = 123456; // 设置初始账户号
atm.balance = 0.0; // 初始化余额为零
while (1) {
printf("ATM Menu:\n");
printf("1. Deposit\n");
printf("2. Withdraw\n");
printf("3. Check Balance\n");
printf("4. Exit\n");
printf("Enter your choice: ");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1: deposit(&atm, get_amount_from_user()); break; // 存款函数
case 2: if (withdraw(&atm, get_amount_from_user())) printf("Withdrawal successful.\n"); else printf("Insufficient funds.\n"); break; // 取款函数
case 3: check_balance(&atm); break; // 检查余额
case 4: return 0; // 退出程序
default: printf("Invalid choice. Please try again.\n");
}
}
return 0;
}
// 辅助函数,从用户获取金额
int get_amount_from_user() {
int amount;
printf("Enter the amount: ");
scanf("%d", &amount);
return amount;
}
void deposit(Account* atm, int amount) {
atm->balance += amount;
printf("Deposited %.2f into account %d. New balance is %.2f.\n", amount, atm->account_number, atm->balance);
}
double withdraw(Account* atm, int amount) {
if (amount <= atm->balance) {
atm->balance -= amount;
return 1; // 表示成功
} else {
return 0; // 表示失败
}
}
void check_balance(Account* atm) {
printf("Account balance: %.2f.\n", atm->balance);
}
```
阅读全文
相关推荐

















