21xrx.com
2025-06-24 08:50:33 Tuesday
登录
文章检索 我的文章 写文章
C++银行账户管理程序源代码
2023-07-10 00:06:33 深夜i     18     0
C++ 银行账户管理程序 源代码 程序开发 账户管理功能

本程序是一个用C++编写的简单的银行账户管理程序,实现了基本的账户增删查改和存取款功能。以下是程序代码:

#include <iostream>
#include <string>
#include <map>
using namespace std;
// 账户类
class Account {
public:
 Account(string id, string name, double bal): id(id), name(name), balance(bal) {}
 // 存款
 void deposit(double amount) {
  balance += amount;
 }
 // 取款
 bool withdraw(double amount) {
  if (amount > balance)
   return false;
  
  balance -= amount;
  return true;
 }
 // 打印账户信息
 void print() Name: " << name << "
private:
 string id; // 账户ID
 string name; // 账户姓名
 double balance; // 账户余额
};
// 账户管理类
class AccountManager {
public:
 // 添加账户
 void addAccount(Account account) {
  accounts[account_id++] = account;
 }
 // 删除账户
 bool removeAccount(int id) {
  auto it = accounts.find(id);
  if (it == accounts.end())
   return false; // 没有找到对应的账户
  
  accounts.erase(id);
  return true;
 }
 // 查找账户
 Account* findAccount(int id) {
  auto it = accounts.find(id);
  if (it == accounts.end())
   return nullptr;
  
  return &(it->second);
 }
 // 存款
 bool deposit(int id, double amount) {
  auto account = findAccount(id);
  if (account == nullptr)
   return false; // 没有找到对应的账户
  
  account->deposit(amount);
  return true;
 }
 // 取款
 bool withdraw(int id, double amount) {
  auto account = findAccount(id);
  if (account == nullptr)
   return false; // 没有找到对应的账户
  
  return account->withdraw(amount);
 }
 // 打印所有账户
 void printAllAccounts() {
  for (auto it = accounts.begin(); it != accounts.end(); ++it) {
   it->second.print();
  }
 }
private:
 int account_id = 1;
 map<int, Account> accounts; // 存储账户的map
};
// 主函数
int main() {
 AccountManager manager;
 // 添加账户
 manager.addAccount(Account("001", "张三", 1000));
 manager.addAccount(Account("002", "李四", 2000));
 manager.addAccount(Account("003", "王五", 3000));
 // 存款
 manager.deposit(1, 500);
 manager.deposit(2, 1000);
 // 取款
 manager.withdraw(3, 500);
 // 打印所有账户
 manager.printAllAccounts();
 return 0;
}

在上述程序中,`Account`类表示一个账户,包含账户ID、姓名和余额属性以及存款和取款方法。`AccountManager`类表示一个账户管理器,包含添加、删除、查找账户、存款、取款和打印账户信息等方法。程序中使用`map`来存储所有账户,`int`类型的键值表示账户ID,`Account`类型的值表示账户对象。

在`main`函数中,首先创建一个`AccountManager`对象`manager`,然后通过`addAccount`方法添加了3个账户,ID分别为001、002、003。接着分别对2个账户进行存款操作和1个账户进行取款操作,最后调用`printAllAccounts`方法打印所有账户信息。

该程序是C++初学者学习面向对象编程和STL库(如`map`)的好例子。当然,实际的银行系统远比此程序复杂得多,并需要更多的安全性、可扩展性和容错能力。

  
  

评论区