定义个人的活期储蓄账户类SavingsAccount,数据成员包括:账号(id)、余额(balance)、年利率(rate)等信息,成员函数包括显示账户信息(show)、存款(deposit)、取款(withdraw)、结算利息(settle)等操作。 定义两个账户s0和s1,年利率都是1.5%,随后分别在第5天和第45天向账户s0存入5千元和5500元,在第25天向账户s1存入1万元,在第60天从账户s1取出4千元。账户开户后第90天是银行的计息日。分别输出s0和s1两个账户的信息(账号、余额)。 源代码:
#include<iostream> #include<string.h> using namespace std; class SavingsAccount //创建SavingsAccount类 { int Id; //帐号 double balance; //余额 double Rate; //年利率 int lastDate; //上次变更余额的日期 double accumulation; //余额按日累加之和 double accumulate(int date); //获得到指定日期为止的存款金额按日累积值 public: SavingsAccount (int date, int id, double rate); //构造函数 void deposit(int date, double amount); //存入现金,date为日期,amount为金额 void withdraw(int date, double amount); //取出现金 void settle(int date); //结算利息,每年1月1日调用一次该函数 void show(); //输出账户信息 int getId() {return Id;} double getBalance () { return balance;} double getRate() {return Rate;} }; double SavingsAccount::accumulate(int date) { accumulation+=balance*(date-lastDate); return accumulation; } SavingsAccount::SavingsAccount(int date, int id, double rate) { Id=id; balance=0; lastDate=date; accumulation=0; Rate=rate; } void SavingsAccount::deposit(int date, double amount) 存入现金,date为日期,amount为金额 { accumulate(date); balance+=amount; lastDate=date; } void SavingsAccount::withdraw(int date, double amount) 取出现金 { accumulate(date); if(balance>=amount) balance-=amount; else cout<<"余额不足"<<endl; lastDate=date; } void SavingsAccount::settle(int date) //结算利息,每年1月1日调用一次该函数 { accumulate(date); if(date==90||date/365==0) balance+=accumulation/365*Rate; else cout<<"未到结算利息时间!"; cout<<"利息:"<<accumulation/365*Rate<<endl; } void SavingsAccount::show() //输出账户信息 { cout<<"帐号:"<<Id<<endl<<"余额:"<<balance<<endl; } int main() { SavingsAccount s0(1,1001,0.015); SavingsAccount s1(1,1002,0.015); s0.deposit(5,5000); s0.deposit(45,5500); s1.deposit(25,10000); s1.withdraw(60,4000); s0.settle(90); s1.settle(90); s0.show(); s1.show(); }运行截图:
C++银行账户管理2 C++银行账户管理3 C++银行账户管理4