C++银行个人账户管理系统代码
时间: 2023-09-30 19:06:01 浏览: 150
很抱歉,我是一个语言模型AI,无法提供完整的代码。不过,我可以为您提供一个简单的示例,供您参考。
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_ACC_NUM 100 // 最大账户数
#define MAX_NAME_LEN 20 // 最大姓名长度
#define MAX_PWD_LEN 20 // 最大密码长度
// 定义一个账户结构体
typedef struct {
int acc_num; // 账户号码
char name[MAX_NAME_LEN]; // 姓名
char pwd[MAX_PWD_LEN]; // 密码
double balance; // 余额
} Account;
// 定义一个全局变量,用于存储所有账户信息
Account accounts[MAX_ACC_NUM];
// 定义一个全局变量,用于记录账户数
int num_accounts = 0;
// 函数声明
void print_menu();
void create_account();
void deposit();
void withdraw();
void check_balance();
void transfer();
void list_accounts();
int main() {
int choice;
do {
print_menu();
printf("请输入您的选项:");
scanf("%d", &choice);
switch (choice) {
case 1:
create_account();
break;
case 2:
deposit();
break;
case 3:
withdraw();
break;
case 4:
check_balance();
break;
case 5:
transfer();
break;
case 6:
list_accounts();
break;
case 0:
printf("感谢使用本系统,再见!\n");
break;
default:
printf("无效的选项,请重新选择。\n");
}
} while (choice != 0);
return 0;
}
// 打印菜单
void print_menu() {
printf("\n============= 银行个人账户管理系统 =============\n");
printf("1. 创建账户\n");
printf("2. 存款\n");
printf("3. 取款\n");
printf("4. 查询余额\n");
printf("5. 转账\n");
printf("6. 列出所有账户\n");
printf("0. 退出\n");
}
// 创建账户
void create_account() {
if (num_accounts >= MAX_ACC_NUM) {
printf("账户数量已达到上限,无法再创建新账户。\n");
return;
}
Account acc;
printf("请输入账户号码:");
scanf("%d", &acc.acc_num);
printf("请输入姓名:");
scanf("%s", acc.name);
printf("请输入密码:");
scanf("%s", acc.pwd);
acc.balance = 0.0;
accounts[num_accounts++] = acc;
printf("账户创建成功!\n");
}
// 存款
void deposit() {
int acc_num;
double amount;
printf("请输入账户号码:");
scanf("%d", &acc_num);
for (int i = 0; i < num_accounts; i++) {
if (accounts[i].acc_num == acc_num) {
printf("请输入存款金额:");
scanf("%lf", &amount);
accounts[i].balance += amount;
printf("存款成功!\n");
return;
}
}
printf("未找到此账户,请检查账户号码是否正确。\n");
}
// 取款
void withdraw() {
int acc_num;
double amount;
char pwd[MAX_PWD_LEN];
printf("请输入账户号码:");
scanf("%d", &acc_num);
for (int i = 0; i < num_accounts; i++) {
if (accounts[i].acc_num == acc_num) {
printf("请输入密码:");
scanf("%s", pwd);
if (strcmp(accounts[i].pwd, pwd) == 0) {
printf("请输入取款金额:");
scanf("%lf", &amount);
if (amount <= accounts[i].balance) {
accounts[i].balance -= amount;
printf("取款成功!\n");
} else {
printf("余额不足,无法取款。\n");
}
} else {
printf("密码错误,无法取款。\n");
}
return;
}
}
printf("未找到此账户,请检查账户号码是否正确。\n");
}
// 查询余额
void check_balance() {
int acc_num;
char pwd[MAX_PWD_LEN];
printf("请输入账户号码:");
scanf("%d", &acc_num);
for (int i = 0; i < num_accounts; i++) {
if (accounts[i].acc_num == acc_num) {
printf("请输入密码:");
scanf("%s", pwd);
if (strcmp(accounts[i].pwd, pwd) == 0) {
printf("余额为 %.2lf 元。\n", accounts[i].balance);
} else {
printf("密码错误,无法查询余额。\n");
}
return;
}
}
printf("未找到此账户,请检查账户号码是否正确。\n");
}
// 转账
void transfer() {
int src_acc_num, dest_acc_num;
double amount;
char pwd[MAX_PWD_LEN];
printf("请输入源账户号码:");
scanf("%d", &src_acc_num);
for (int i = 0; i < num_accounts; i++) {
if (accounts[i].acc_num == src_acc_num) {
printf("请输入密码:");
scanf("%s", pwd);
if (strcmp(accounts[i].pwd, pwd) == 0) {
printf("请输入目标账户号码:");
scanf("%d", &dest_acc_num);
for (int j = 0; j < num_accounts; j++) {
if (accounts[j].acc_num == dest_acc_num) {
printf("请输入转账金额:");
scanf("%lf", &amount);
if (amount <= accounts[i].balance) {
accounts[i].balance -= amount;
accounts[j].balance += amount;
printf("转账成功!\n");
} else {
printf("余额不足,无法转账。\n");
}
return;
}
}
printf("未找到目标账户,请检查账户号码是否正确。\n");
} else {
printf("密码错误,无法转账。\n");
}
return;
}
}
printf("未找到源账户,请检查账户号码是否正确。\n");
}
// 列出所有账户
void list_accounts() {
printf("账户号码\t姓名\t余额\n");
for (int i = 0; i < num_accounts; i++) {
printf("%d\t%s\t%.2lf\n", accounts[i].acc_num, accounts[i].name, accounts[i].balance);
}
}
```
该程序实现了一个简单的银行个人账户管理系统,包括创建账户、存款、取款、查询余额、转账和列出所有账户等功能。每个账户包括账户号码、姓名、密码和余额等信息,使用结构体进行存储。所有账户信息存储在一个全局数组中,可以通过循环遍历查找特定账户。每个功能都实现为一个函数,通过调用不同的函数来完成不同的操作。
阅读全文