用C++设计一个 Bank 类,实现银行某账户的资金往来账目管理。程序要求完成以下操作。 ① 创建账户:包括账号、创建日期、余额(创建账户时存入的钱数)。 ② 存钱:执行存钱操作,并记录存钱日期和存钱
时间: 2024-10-17 17:08:49 浏览: 41
在 C++ 中,我们可以设计一个简单的 `Bank` 类以及相关的 `Account` 类来实现银行账户资金的管理。首先,我们创建一个基础的 `Account` 类,包含必要的属性如账号、创建日期和余额:
```cpp
#include <iostream>
#include <string>
#include <ctime>
class Account {
public:
// 构造函数
Account(int account_number, double initial_balance, std::string create_date = "未知")
: account_number(account_number), balance(initial_balance), create_date(create_date) {}
// 账户信息
int getAccountNumber() const { return account_number; }
double getBalance() const { return balance; }
std::string getCreateDate() const { return create_date; }
// 存钱操作
void deposit(double amount, std::string deposit_date = "未知") {
balance += amount;
deposit_date = deposit_date.empty() ? std::ctime(&deposit_time) : deposit_date;
deposit_history.push_back({deposit_date, amount});
}
private:
int account_number;
double balance;
time_t deposit_time;
std::string create_date;
// 存款历史记录
std::vector<std::pair<std::string, double>> deposit_history;
};
```
在这个 `Account` 类中,我们包含了存款(`deposit`)的操作,它会增加账户余额并添加新的存款记录到 `deposit_history` 中。注意,这里假设了 `deposit_history` 是一个内部数据结构。
为了实现银行的账户管理,我们可以创建一个 `Bank` 类,持有若干个 `Account` 对象作为成员:
```cpp
class Bank {
public:
void createAccount(int account_number, double initial_amount, std::string create_date = "未知") {
accounts.push_back(Account(account_number, initial_amount, create_date));
}
void depositIntoAccount(int account_number, double amount, std::string deposit_date = "未知") {
for (auto& acc : accounts) {
if (acc.getAccountNumber() == account_number) {
acc.deposit(amount, deposit_date);
break;
}
}
}
private:
std::vector<Account> accounts;
};
```
现在我们可以创建银行实例并进行操作:
```cpp
int main() {
Bank bank;
bank.createAccount(123456, 10000); // 创建一个初始余额为10000元的账户
// 存钱
bank.depositIntoAccount(123456, 5000, "2023-07-01");
// 输出账户信息
for (const auto& acc : bank.accounts) {
std::cout << "Account Number: " << acc.getAccountNumber()
<< ", Balance: " << acc.getBalance() << ", Create Date: " << acc.getCreateDate()
<< "\n";
}
return 0;
}
```
阅读全文