21xrx.com
2024-11-05 19:38:05 Tuesday
登录
文章检索 我的文章 写文章
C++银行账户管理程序源代码
2023-07-10 00:06:33 深夜i     --     --
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`)的好例子。当然,实际的银行系统远比此程序复杂得多,并需要更多的安全性、可扩展性和容错能力。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复