#include <iostream>
using namespace std;
class bankAccount
{
private:
int number; // account number
double balance;
public:
void setNumber(int n);
void setBalance(double b);
int getNumber();
double getBalance();
double deposit (double d);
double withdraw(double w);
void print();//print the account number and the balance
bankAccount(int n, double b);
};
class checkingAccount:public bankAccount
{
private:
double Interest;
double MinimumBalance;
double ServiceCharges;
public:
void setInterest(double in);
void setMinimumBalance(double mb);
void setServiceCharges(double sc);
double getInterest();
double getMinimumBalance();
double getServiceCharges();
double checkBalance(double NB);
void printcheckingBalance();
checkingAccount(double in,double mb,double sc,int n,double b);
};
bankAccount::bankAccount(int n,double b)
{
number=n;
balance=b;
}
void bankAccount::setNumber(int n)
{
number=n;
}
void bankAccount::setBalance(double b)
{
balance=b;
}
int bankAccount::getNumber()
{
return number;
}
double bankAccount::getBalance()
{
return balance;
}
double bankAccount::deposit(double d)
{
cout<<"Enter An Amount To Deposite: ";
cin>>d;
while(d<0)
{
cout<<"Invallid!!, Re-Enter: ";
cin>>d;
}
balance=balance+d;
return balance;
}
double bankAccount::withdraw(double w)
{
cout<<"How Much do you want to withdraw?: ";
cin>>w;
while(w>balance || w<0)
{
cout<<"Error!!, Enter an amount again: ";
cin>>w;
}
balance=balance-w;
return balance;
}
void bankAccount::print()
{
cout<<"The Account Number is: "<<getNumber()<<endl;
cout<<"The Account Balance is: "<<getBalance()<<endl;
}
checkingAccount::checkingAccount(double in,double mb,double sc,int n,double b):bankAccount(n,b)
{
Interest=in;
MinimumBalance=mb;
ServiceCharges=sc;
}
void checkingAccount::setInterest(double in)
{
Interest=in;
}
void checkingAccount::setMinimumBalance(double mb)
{
MinimumBalance=mb;
}
void checkingAccount::setServiceCharges(double sc)
{
ServiceCharges=sc;
}
double checkingAccount::getInterest()
{
return Interest;
}
double checkingAccount::getMinimumBalance()
{
return MinimumBalance;
}
double checkingAccount::getServiceCharges()
{
return ServiceCharges;
}
double checkingAccount::checkBalance(double NB)
{
if(getBalance()>ServiceCharges)
{
NB=getBalance()-ServiceCharges;
}
else return -1;
return NB;
}
void checkingAccount::printcheckingBalance()
{
bankAccount::print();
cout<<endl;
cout<<"The Interest is: "<<getInterest()<<endl;
cout<<"The Services Charges is: "<<getServiceCharges()<<endl;
cout<<"The Minimum Balance is: "<<getMinimumBalance()<<endl;
}
int main()
{
checkingAccount C(10.2,2.0,20.4,2034,90.9);
C.printcheckingBalance();
cout<<endl;
return 0;
}