#include <iostream>
using namespace std;
class Account{
public:
//Constructor
Account(){ balance =balanceMaturity=interestRate =0.0;term=0;}
Account(double b, double r, int t);
//Accessor
double getBalance() { return balance; }
double getInterestRate() { return interestRate;}
int getTerm() { return term;}
double getBalanceMaturity() {return balanceMaturity;}
//Mutator
void Deposit(double amount);
int WithDraw(double amount);
void AdjustRate(double newRate);
void SetTerm(int newTerm);
void CalBalanceMaturity();
private:
double balance;
double balanceMaturity;
double interestRate;
int term;
};
void PrintAccount( Account &account){
cout << "Your account has MOP " << account.getBalance() << endl;
cout << "The current interest rate is " << account.getInterestRate() << endl;
cout << "The deposite term is " << account.getTerm() << endl;
cout<<"After the term of"<<account.getTerm()<<"month"<<endl;
cout<<"Your account will have a balance (Maturity) of MOP"<<account.getBalanceMaturity()<<endl;
}
Account::Account(double b,double r,int t)
{
balance=b;
interestRate=r;
term=t;}
void Account::Deposit(double amount) {
balance+=amount;
}
int Account::WithDraw(double amount) {
if (balance>=amount) {
balance-=amount;
cout <<"Your account has MOP"<<balance<<endl;
return 0;
}
else if (balance<amount) {
cout <<"your account has not enough money"<<endl;
return -1;
}
}
void Account::AdjustRate(double newRate) {
interestRate=newRate;
}
void Account::SetTerm(int newTerm)
{
term=newTerm;
}
void Account::CalBalanceMaturity(){
balanceMaturity=balance+balance*(interestRate/100)*((double)term/12);
}
int main()
{
Account HenryAcc;
Account RaymondAcc(10000,3,18);
Account SophiaAcc(30000,3,36);
cout << "-----Operations on Henry's Account-----" << endl;
PrintAccount(HenryAcc);
HenryAcc.Deposit(5000);
HenryAcc.AdjustRate(1.5);
HenryAcc.SetTerm(6);
PrintAccount(HenryAcc);
cout << "-----End of Operations on Henry's Account-----" << endl;
cout << endl;
cout << "-----Operations on Raymond's Account-----" << endl;
PrintAccount(RaymondAcc);
RaymondAcc.WithDraw(2000);
RaymondAcc.AdjustRate(3);
RaymondAcc.SetTerm(18);
PrintAccount(RaymondAcc);
cout << "-----End of Operations on Raymond's Account-----" << endl;
cout << endl;
cout << "-----Operations on Sophia's Account-----" << endl;
PrintAccount(SophiaAcc);
cout << "-----End of Operations on Sophia's Account-----" << endl;
return 0;
}
balanceMaturity是-9.25596e+061