Purpose Inheritance, exceptions For this project you will create 3 classes. 1. A
ID: 3765964 • Letter: P
Question
Purpose Inheritance, exceptions For this project you will create 3 classes. 1. Account class Members - -acctNum : long -balance: double Methods- +getAcct0 long +getBalance0: double +setAcct(acct:long) +setBalance (balance:double) +Account(acct:long, bal:double) +toString0:string +computelntr(years:int):double virtual //returns Account ##acctNum Balance-balance // balance and the acctNum should never be set to a negative 2. Checking class : derived from Account Methods- +computeIntr(yearsint)double // returns 2% of the (balance > $700).years +Checkingfacct.long, bal:double) //calls the superclass constructor +toString0:string //return Checking Account #=accNum Balance-balance 3. Saving class: derived from Account Attributes- -intRate : double Methods - // interest rate // returns the interest rate //sets the interest rate-do not allow negatives + getRate0: double +setRate (rate:double) +computelntr(years:int):double //returns (1+ intRate)years balance-balance +Savings(acct:long, bal:double, rate:double)// calls the superclass constructor +toString0:string //prints Savings Account #-accNum Balances balance Rates rate The main will create an array of 100 pointers to Accounts Populate your array with 5 checking accounts with numbers 100 And 5 savings accounts with number 200-204 Initialize all the balances to $1000+10*acctNum 104Explanation / Answer
#include <iostream>
#include <sstream>
#include <string.h>
using namespace std;
class Account
{
long acctNum;
double balance;
double interest;
public:
long getAcct()
{
return acctNum;
}
double getBalance()
{
return balance;
}
void setAcct(long acct)
{
acctNum=acct;
}
void setBalance(double bal)
{
balance=bal;
}
Account(long acct, double bal)
{
acctNum=acct;
balance=bal;
}
string toString()
{
stringstream ss;
string ans;
ss<<" Checking Account # "<<accountNumber<<" Balance "<<balance;
ans=ss.str();
return ans;
}
virtual double computeIntr(int years);
};
class Checking :public Account
{
public:
virtual double computeIntr(int years)
{
int R=2;
if(balance>700)
interest=balance*years* (R/100);
return interest;
}
Checking(long acct, double bal):acctNum(acct),balance(bal)
{
}
};
class Saving :public Account
{
double intRate;
public:
double getRate()
{
return intRate;
}
void setRate(double rate)
{
intRate=rate;
}
double computeIntr(int years)
{
double i;
i=(1+intRate)*years*balance;
return i;
}
Savings(long acct, double bal, double rate):acctNum(acct),balance(bal)
{
intRate=rate;
}
string toString()
{
stringstream ss;
string ans;
ss<<" Saving Account # "<<acctNum<<" Balance "<<balance <<" Rate "<<intRate;
ans=ss.str();
return ans;
}
};
int main()
{
Account *ACC[100];
Checking C[5];
Saving S[5];
int a=100;
int b=200;
for(int i=0;i<5;i++)
{
C[i].setAcct(a++);
C[i].setBalance(1000+(10*Checking.getAcct()));
Account[i] = C[i];
}
for(int i=0;i<5;i++)
{
S[i].setAcct(a++);
S[i].setBalance(1000+(10*Saving.getAcct()));
Account[i+5] = S[i];
}
char q;
char ans;
int acc;
while(ans!='q')
{
cout<<" Account#";
cin>>accountNumber;
if(accountNumber>99 && accountNumber<105)
acc=accountNumber-100;
else
acc= accountNumber-200+5;
cout<<" > s - Set balance";
cin>>balance;
ACC[acc]->setBalance(balance);
cout<<" > d - Display using toString function";
cin>>ans;
if(ans=='d')
{
cout<<ACC[acc]->toString();
}
cout<<" > i - Enter number of years to get interest";
cin>>years;
cout<<ACC[acc]->computeIntr(years);
cout<<" > q - quit processing this account");
cin>>q;
}
return 0;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.