C语言编写简单的ATM系统
时间: 2024-04-23 19:23:11 浏览: 83
好的,下面是一个简单的ATM系统的C语言代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义银行账户结构体
typedef struct {
char name[20]; // 用户名
char id[20]; // 身份证号
float balance; // 账户余额
} account_t;
// 初始化银行账户信息
void init_account(account_t* account, char* name, char* id, float balance) {
strcpy(account->name, name);
strcpy(account->id, id);
account->balance = balance;
}
// 开户
void create_account(account_t* account) {
printf("请输入您的姓名:");
scanf("%s", account->name);
printf("请输入您的身份证号:");
scanf("%s", account->id);
printf("请输入您的初始存款金额:");
scanf("%f", &account->balance);
printf("开户成功!您的账户余额为 %.2f 元\n", account->balance);
}
// 存款
void deposit(account_t* account, float amount) {
account->balance += amount;
printf("存款成功!您的账户余额为 %.2f 元\n", account->balance);
}
// 取款
void withdraw(account_t* account, float amount) {
if (account->balance < amount) {
printf("余额不足,取款失败!\n");
return;
}
account->balance -= amount;
printf("取款成功!您的账户余额为 %.2f 元\n", account->balance);
}
// 转账
void transfer(account_t* account1, account_t* account2, float amount) {
if (account1->balance < amount) {
printf("余额不足,转账失败!\n");
return;
}
account1->balance -= amount;
account2->balance += amount;
printf("转账成功!您的账户余额为 %.2f 元\n", account1->balance);
}
int main() {
// 初始化两个银行账户
account_t account1, account2;
init_account(&account1, "张三", "123456789012345678", 1000);
init_account(&account2, "李四", "987654321012345678", 500);
// 显示两个银行账户信息
printf("账户1:\n姓名:%s\n身份证号:%s\n余额:%.2f 元\n\n", account1.name, account1.id, account1.balance);
printf("账户2:\n姓名:%s\n身份证号:%s\n余额:%.2f 元\n\n", account2.name, account2.id, account2.balance);
// 开户
account_t account3;
create_account(&account3);
// 存款
float amount;
printf("请输入存款金额:");
scanf("%f", &amount);
deposit(&account1, amount);
// 取款
printf("请输入取款金额:");
scanf("%f", &amount);
withdraw(&account2, amount);
// 转账
printf("请输入转账金额:");
scanf("%f", &amount);
transfer(&account1, &account2, amount);
return 0;
}
```
以上代码实现了一个简单的ATM系统,包含开户、存款、取款和转账功能,可以供您参考。
阅读全文