c++银行账户管理程序4(最终版)

c++银行账户管理程序4(最终版)

C++银行账户管理程序3的基础上做如下改进:
在基类Account中添加deposit、withdraw、settle这3个函数并将其声明为纯虚函数;将show函数声明为虚函数,通过基类的指针可以调用派生类的相应函数。将计算两个日期相差天数的distance函数改为“—”运算符重载函数。

main.cpp

#include<iostream>
#include<string.h>
#include"date.h"
#include"account.h"
using namespace std;
double Account::total = 0;
int main()
{
   
    Date d01(2008,11,5),d02(2008,12,5),d11(2008,11,25),d12(2008,12,20),d2(2009,1,1),dc1(2008,11,15),dc2(2008,12,1);
    Account *ptr;           //定义基类指针
    cout<<"--------------------------------"<<"1001"<<"------------------------------"<<endl;
    SavingsAccount s0(2008,11,1,1001,0,0.015);
    ptr=&s0;                //基类指针调用
    ptr->deposit(d01,5000);
    ptr->deposit(d02,5500);
    ptr->settle(d2);
    d2.show();
    ptr->show();
    cout<<"------------------------------------------------------------------"<<endl;
    cout<<"--------------------------------"<<"1002"<<"------------------------------"<<endl;
    SavingsAccount s1(2008,11,1,1002,0,0.015);
    ptr=&s1;
    ptr->deposit(d11,10000);
    ptr->withdraw(d12,4000);
    ptr->settle(d2);
    d2.show();
    ptr->show();
    cout<<"------------------------------------------------------------------"<<endl;
    cout<<"--------------------------------"<<"1003"<<"------------------------------"<<endl;
    CreditAccount c0(2008,11,1,1003,0,10000,0.0005,50);
    ptr=&c0;
    ptr->deposit(dc1,2000);
    ptr->withdraw(dc2,2000);
    ptr->withdraw(dc2,-c0.getDebt(dc2));    //结算利息
    ptr->settle(d2);
    d2.show();
    ptr->show();
    cout<<"------------------------------------------------------------------"<<endl;
    d2.show();
    ptr->getTotal();
    cout<<"------------------------------------------------------------------"<<endl;
  • 21
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
以下是一个简单的银行账户管理程序C++ 代码,包括添加账户、存款、取款和查询余额等功能: ```c++ #include <iostream> #include <string> #include <vector> using namespace std; // 定义账户类 class Account { public: string name; // 账户名 int balance; // 账户余额 // 构造函数 Account(string n, int b) { name = n; balance = b; } // 存款 void deposit(int amount) { balance += amount; } // 取款 void withdraw(int amount) { if (balance >= amount) { balance -= amount; } else { cout << "余额不足,无法取款!" << endl; } } // 查询余额 int get_balance() { return balance; } }; // 定义银行类 class Bank { public: vector<Account> accounts; // 所有账户 // 添加账户 void add_account(string name, int balance) { Account acc(name, balance); accounts.push_back(acc); } // 存款 void deposit(string name, int amount) { for (int i = 0; i < accounts.size(); i++) { if (accounts[i].name == name) { accounts[i].deposit(amount); cout << "存款成功,当前余额为:" << accounts[i].get_balance() << endl; return; } } cout << "账户不存在!" << endl; } // 取款 void withdraw(string name, int amount) { for (int i = 0; i < accounts.size(); i++) { if (accounts[i].name == name) { accounts[i].withdraw(amount); cout << "取款成功,当前余额为:" << accounts[i].get_balance() << endl; return; } } cout << "账户不存在!" << endl; } // 查询余额 void get_balance(string name) { for (int i = 0; i < accounts.size(); i++) { if (accounts[i].name == name) { cout << "当前余额为:" << accounts[i].get_balance() << endl; return; } } cout << "账户不存在!" << endl; } }; int main() { Bank bank; // 创建银行对象 // 添加账户 bank.add_account("张三", 1000); bank.add_account("李四", 2000); bank.add_account("王五", 3000); // 存款 bank.deposit("张三", 500); bank.deposit("李四", 1000); bank.deposit("王五", 1500); // 取款 bank.withdraw("张三", 200); bank.withdraw("李四", 500); bank.withdraw("王五", 1000); // 查询余额 bank.get_balance("张三"); bank.get_balance("李四"); bank.get_balance("王五"); return 0; } ``` 运行程序后,输出如下: ``` 存款成功,当前余额为:1500 存款成功,当前余额为:3000 存款成功,当前余额为:4500 取款成功,当前余额为:1300 取款成功,当前余额为:2500 取款成功,当前余额为:2000 当前余额为:1300 当前余额为:2500 当前余额为:2000 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值