博客
关于我
银行系统改编版
阅读量:579 次
发布时间:2019-03-11

本文共 1197 字,大约阅读时间需要 3 分钟。

今天,我对银行系统进行了修改工作,最终完成了这项任务。下面是今天的工作成果供大家参考。

系统架构概览

系统主要包含三类账户:AccountSavingAccountCheckingAccountAccount 类为通用账户类,提供基本的存取功能。SavingAccount 类继承自 Account,增加了储蓄账户的利息计算功能。CheckingAccount 类继承自 SavingAccount,进一步增加了日常收支功能,并额外收取每笔转账手续费。

代码逻辑解析

  • 通用账户类 (Account)

    • 属性:balance 用于存储账户余额。
    • 方法:
      • 构造函数:接受余额参数,初始化账户。
      • credit():向账户中存入金额。
      • debit():从账户中取出金额,若余额不足则返回失败标记。
      • getBalance():返回当前账户余额。
  • 储蓄账户类 (SavingAccount)

    • 属性:interestrate 用于存储账户的利率。
    • 方法:
      • 构造函数:接受余额和利率参数,初始化账户。
      • caclculateInterest():计算并返回当前账户的利息。
  • 日常账户类 (CheckingAccount)

    • 属性:fare 用于存储每笔转账手续费。
    • 方法:
      • 构造函数:接受余额、利率和手续费参数,初始化账户。
      • resdebit():实现日常收支功能,包含手续费收取和利息计算。
  • 功能展示

  • 通用账户功能

    • 存入金额时,系统会提示当前余额及存入金额。
    • 取出金额时,若余额不足则提示充值需求,否则扣除金额并显示余额更新。
  • 储蓄账户功能

    • 存入金额后,系统会自动计算并显示累计利息。
    • 取出金额时,系统会扣除手续费并重新计算利息。
  • 日常账户功能

    • 取出金额时,系统会收取手续费并更新余额。
    • 收费后,系统会重新计算利息并显示更新情况。
  • 测试案例

    以下是系统测试案例:

    // 初始化通用账户Account A1(100);A1.credit(); // 存入 50 元A1.debit(); // 取出 20 元cout << "当前余额为:" << A1.getBalance() << endl;// 初始化储蓄账户SavingAccount S1(A1.getBalance(), 0.2);S1.credit(); // 存入 200 元S1.debit(); // 取出 50 元cout << "账户的利息:" << S1.caclculateInterest() << endl;// 初始化日常账户CheckingAccount C1(S1.getBalance(), 0.2, 30);C1.credit(); // 存入 100 元// 取款功能未调用cout << "收取费用后的余额:" << C1.resdebit() << endl;

    今天的工作成果基本完成,系统各项功能均已实现。

    转载地址:http://cvevz.baihongyu.com/

    你可能感兴趣的文章
    openlayers 入门教程(四):layers 篇
    查看>>
    OpenLayers 项目分析(三)-OpenLayers中定制JavaScript内置类
    查看>>
    Openlayers中使用Cluster实现点位元素重合时动态聚合与取消聚合
    查看>>
    Openlayers中使用Cluster实现缩放地图时图层聚合与取消聚合
    查看>>
    Openlayers中使用Image的rotation实现车辆定位导航带转角(判断车辆图片旋转角度)
    查看>>
    Openlayers中加载Geoserver切割的EPSG:900913离线瓦片图层组
    查看>>
    Openlayers中将某个feature置于最上层
    查看>>
    Openlayers中点击地图获取坐标并输出
    查看>>
    Openlayers中设置定时绘制和清理直线图层
    查看>>
    Openlayers图文版实战,vue项目从0到1做基础配置
    查看>>
    Openlayers实战:modifystart、modifyend互动示例
    查看>>
    Openlayers实战:判断共享单车是否在电子围栏内
    查看>>
    Openlayers实战:绘制图形,导出geojson文件
    查看>>
    Openlayers实战:绘制图形,导出KML文件
    查看>>
    Openlayers实战:绘制多边形,导出CSV文件
    查看>>
    Openlayers实战:绘制带箭头的线
    查看>>
    Openlayers实战:输入WKT数据,输出GML、Polyline、GeoJSON格式数据
    查看>>
    Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
    查看>>
    Openlayers高级交互(11/20):显示带箭头的线段轨迹,箭头居中
    查看>>
    Openlayers高级交互(14/20):汽车移动轨迹动画(开始、暂停、结束)
    查看>>