Question: Problem #4 (Savings Account Class) Create a SavingsAccount class with the following specification public: SavingsAccount(float); //Constructor void Transaction(float); //Procedure float Total(float=0,int=0); //Savings Procedure float TotalRecursive(float=0,int=0);
Problem #4 (Savings Account Class)
Create a SavingsAccount class with the following
specification
public:
SavingsAccount(float); //Constructor
void Transaction(float); //Procedure
float Total(float=0,int=0); //Savings Procedure
float TotalRecursive(float=0,int=0);
void toString(); //Output Properties
private:
float Withdraw(float); //Utility Procedure
float Deposit(float); //Utility Procedure
float Balance; //Property
int FreqWithDraw; //Property
int FreqDeposit; //Property
1) The constructor initilizes the balance if greater than
0 and sets the other properties to 0.
2) If the transaction is greater than 0 then a Deposit is
made else a Withdraw is made.
3) The balance is increased with a deposit but decreased
if a Withdrawal. This assumes the Withdrawal is less than
the balance. Can't have a negative balance. Tell the user
that he is trying to make a withdrawal that exceeds his
balance.
4) When a WithDrawal is made increment FreqWithDraw else
if a Deposit is made increment FreqDeposit.
5) The toString procedure outputs all properties.
6) The total procedure tells you how much you will have in
savings given the interest rate and the amount of time.
Total(float savint,int time) returns Balance*(1+savint)^time.
Utilize a for loop for this calculation.
7) See if you can write a recursive procedure that does
the same thing as 6). Call it TotalRecursive.
8) Think of what follows as pseudocode. The random number
generator below produces a number between 0 and 32,767. If
you fashion a random number that will do the same then you
will get positive and negative transactions (-500,500).
The output simply calculates the current balance with a 10
percent interest rate and 7 years worth of compounding.
Also, you tried to start out with a negative balance which
should have been initialized to 0.
SavingsAccount mine(-300);
for(int i=1;i<=10;i++)
{
mine.Transaction((float)(rand()%500)*(rand()%3-1));
}
mine.toString();
cout<<"Balance after 7 years given 10% interest = "
< cout<<"Balance after 7 years given 10% interest = " < <<" Recursive Calculation "< Example Output: WithDraw not Allowed WithDraw not Allowed Balance=1056 WithDraws=4 Deposit=5 Balance after 7 years given 10% interest = 2057.85 Balance after 7 years given 10% interest = 2057.85 Recursive Calculation
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
