5月9日打卡
例4-10
题目描述:
个人银行账户管理。
#include<iostream> #include<cmath> using namespace std; class SavingsAccount {//储蓄账户类 private: int id;//账户名 double balance;//余额 double rate;//存款年利率 int lastDate;//上次变更余额的日期 double accumulation;//金额按日累加之和 void record(int date, double amount); double accumulate(int date)const{ return accumulation - balance * (date - lastDate); } public: SavingsAccount(int date, int id, double rate); int getId() { return id; } double getBalance() { return balance; } double getRate() { return rate; } void deposit(int date, double amount); void withdraw(int date, double amount); void settle(int date); void show(); }; SavingsAccount::SavingsAccount(int date, int id, double rate) :id(id), balance(0), rate(rate), lastDate(date), accumulation(0) { cout << date << "\t#" << id << "is created" << endl; } void SavingsAccount::record(int date, double amount) { accumulation = accumulate(date); lastDate = date; amount = floor(amount * 100 + 0.5) / 100; balance += amount; cout << date << "/t#" << id << "\t" << amount << "\t" << balance << endl; } void SavingsAccount::deposit(int date, double amount) { record(date, amount); } void SavingsAccount::withdraw(int date, double amount) { if (amount > getBalance()) cout << "Error:not enough money" << endl; else record(date, -amount); } void SavingsAccount::settle(int date) { double interest = accumulate(date) * rate / 365; if (interest != 0) record(date, interest); accumulation = 0; } void SavingsAccount::show() { cout << "#" << id << "\tBalance:" << balance; } int main() { SavingsAccount sa0(1, 21325302, 0.015); SavingsAccount sa1(1, 58320212, 0.015); sa0.deposit(5, 5000); sa1.deposit(25, 10000); sa0.deposit(45, 5500); sa1.withdraw(60, 4000); sa0.settle(90); sa1.settle(90); sa0.show(); cout << endl; sa1.show(); cout << endl; return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理