100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 个人银行账户管理程序实验代码C++

个人银行账户管理程序实验代码C++

时间:2023-09-11 15:03:12

相关推荐

个人银行账户管理程序实验代码C++

#include <iostream>#include <cmath>using namespace std;class savingaccount {private:int id; //账号double balance;//余额double rate; //存款的年利率int lastdate; //上次余额变更的时间double accumulation; //余额按日累加之和//记录一笔账,date为日期,amount为金额,desc为说明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() { 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();};//类的成员函数实现savingaccount::savingaccount(int date, int id, double rate):id(id),lastdate(date),rate(rate),accumulation(0),balance(0) {cout << date << "\t#" << "is created" << endl;}void savingaccount::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 savingaccount::deposit(int date, double amount) {record(date, amount);}void savingaccount::withdraw(int date,double amount) {if (amount > getbalance())cout << "Error:not enough money" << 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(){cout<<"#"<<id<<"\tbalance:"<<balance<<endl;}int main() {savingaccount sa(1, 052, 0.015);savingaccount sb(1, 053, 0.015);//几笔账目sa.deposit(5, 500);sb.deposit(25, 1000);sa.deposit(45, 5500);sb.withdraw(60, 400);//开户后九十天到了银行的结息日,结算所有账户的年息sa.settle(90);sb.settle(90);sa.show();sb.show();return 0;}

初次发稿,多多指教

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。