当前位置: 首页 > news >正文

个人银行账户管理程序(2)

在(1)的基础上进行改进

1:增加一个静态成员函数total,记录账户总金额和静态成员函数getTotal

2对不需要改变的对象进行const修饰

3多文件实现

account。h文件

#ifndef _ACCOUNT_
#define _ACCOUNT_
class SavingAccount {private:int id;double rate;double balance;int lastdate;double accumulation;static double total;void record(int date, double amount);double accumulate(int date)const {return accumulation + balance * (date - lastdate);}
public:SavingAccount(int date, int id, double rate);int getid()const { return id; }double getbalance()const { return balance; }double getrate()const { return rate; }static double getTotal() { return total; }void deposit(int date, double amount);void withdraw(int date, double amount);void settle(int date);void show()const;
};
#endif

account。cpp文件

#include"account.h"
#include<cmath>
#include<iostream>
using namespace std;
double SavingAccount::total = 0;
SavingAccount::SavingAccount(int date, int id, double rate) :id(id), balance(0), rate(rate), lastdate(date)
, accumulation(0) {cout << date << "\t#" << id << "    " << endl;
}
void SavingAccount::record(int date, double amount) {accumulation = accumulate(date);lastdate = date;amount = floor(amount * 100 + 0.5) / 100;balance += amount;total += amount;cout << date << "\t#" << id << "\t" << amount << "\t" << balance << endl;
}
void SavingAccount::deposit(int date, double amount) {record(date, amount);
}
void SavingAccount::withdraw(int date, double amount) {if (amount > getbalance())cout << "余额不足" << endl;elserecord(date, -amount);
}
void SavingAccount::settle(int date) {double interest = accumulate(date) * rate / 365;if (interest != 0)record(date, interest);accumulation = 0;
}
void SavingAccount::show()const {cout << "#" << id << "\tbalance:" << balance;
}

1.cpp

#include"account.h"
#include<iostream>
using namespace std;
int main() {SavingAccount s1(1, 21325302, 0.0015);SavingAccount s2(1, 21325303, 0.0015);s1.deposit(5, 5000);s2.deposit(25, 10000);s1.deposit(45, 5500);s2.withdraw(60, 4000);s1.settle(90);s2.settle(90);s1.show();s2.show();}

http://www.lryc.cn/news/344667.html

相关文章:

  • 2024.04.19校招 实习 内推 面经
  • Python并发编程 04 进程与线程基础
  • 模板引擎Freemarker
  • 刷题训练之模拟
  • 视频监控平台:交通运输标准JTT808设备SDK接入源代码函数分享
  • 【C++】多态 — 多态的细节补充(下篇)
  • 系统安全与应用【2】
  • EtherCAT总线速度轴控制功能块(COSESYS ST源代码)
  • 【码银送书第十九期】《图算法:行业应用与实践》
  • 无监督式学习
  • docker 安装镜像及使用命令
  • Python运维之多进程!!
  • Redis(无中心化集群搭建)
  • 基于springboot+jsp+Mysql的商务安全邮箱邮件收发
  • 三.Django--ORM(操作数据库)
  • 【华为】AC直连二层组网隧道转发实验配置
  • 第 129 场 LeetCode 双周赛题解
  • GStreamer日志调试笔记
  • 【api接口开通教程】YouTube Data API v3申请流程
  • .net 6.0 框架集成ef实战,步骤详解
  • [C/C++] -- 观察者模式
  • 秋招算法刷题8
  • Docker使用方法
  • HTML学习|网页基本信息、网页基本标签、图像标签、超链接标签、列表标签、表格标签、媒体元素、页面结构分析、iframe内联框架
  • 001 websocket(评论功能demo)(消息推送)
  • 二分查找向下取整导致的死循环69. x 的平方根
  • Kivy 异步任务
  • DEV--C++小游戏(吃星星(0.1))
  • LINUX 入门 4
  • Imagine Flash、StyleMamba 、FlexControl、Multi-Scene T2V、TexControl