银行账户管理系统

2023-10-16 08:57:51 浏览数 (2)

以下是一个复杂的 C 代码示例,用于实现一个简单的银行账户管理系统:

代码语言:javascript复制
#include <iostream>
#include <vector>
#include <algorithm>

class Transaction {
private:
    double amount;
    std::string type;

public:
    Transaction(double amount, std::string type) {
        this->amount = amount;
        this->type = type;
    }

    double getAmount() {
        return amount;
    }

    std::string getType() {
        return type;
    }
};

class BankAccount {
private:
    std::string accountNumber;
    double balance;
    std::vector<Transaction> transactions;

public:
    BankAccount(std::string accountNumber) {
        this->accountNumber = accountNumber;
        balance = 0.0;
    }

    std::string getAccountNumber() {
        return accountNumber;
    }

    double getBalance() {
        return balance;
    }

    void deposit(double amount) {
        balance  = amount;
        transactions.push_back(Transaction(amount, "Deposit"));
    }

    void withdraw(double amount) {
        if (balance >= amount) {
            balance -= amount;
            transactions.push_back(Transaction(amount, "Withdrawal"));
        }
    }

    void printTransactions() {
        for (const Transaction& t : transactions) {
            std::cout << "Amount: " << t.getAmount() << std::endl;
            std::cout << "Type: " << t.getType() << std::endl;
            std::cout << "---------------------" << std::endl;
        }
    }
};

int main() {
    BankAccount account("1234567890");
    
    account.deposit(1000.0);
    account.withdraw(500.0);
    account.deposit(200.0);

    std::cout << "Account Number: " << account.getAccountNumber() << std::endl;
    std::cout << "Balance: " << account.getBalance() << std::endl;

    std::cout << "Transactions: " << std::endl;
    account.printTransactions();

    return 0;
}

这个代码示例实现了一个简单的银行账户管理系统,包括账户类 BankAccount 和交易类 Transaction。账户类具有账户号码、余额和交易记录等属性,并提供存款、取款和打印交易记录的方法。交易类具有金额和类型等属性。

main 函数中,示例创建了一个银行账户对象 account,然后进行了一些存款和取款操作。最后,打印账户号码、余额和交易记录。

0 人点赞