(In C++)   This program should be designed and written by a team of students.  Here are some suggestions: You may work on a single class. The parameter and return type s of each function and class member function should be decided in advance. The program will be best implemented as a multi-file program, (header file, the main program,..) You need to print all output to an output file and submit it to the instructor during the final exam. Design a generic class to hold the following information about a bank account: Balance Number of deposits this month Number of withdrawals  Annual Interest Rate Monthly service charges The class should have the following member function:                 Constructors  Accepts arguments for the balance and annual interest rate.      deposit     a virtual function that accepts an argument for the amount of the deposit.  The function should add the argument to the account balance.  It should also increment the variable holding the number of deposits. withdraw     a virtual function that accepts an argument for the amount of the withdrawal.  The function should subtract the argument from the account balance.  It should also increment the variable holding the number of withdrawals. calcInt     a virtual function that updates the balance by calculating the monthly interest earned by the account, and adding this interest to the balance.  This is performed by the account, and adding this interest to the balance.  This is performed by the following formulas:  Monthly Interest = Balance *Monthly Interest Rate Monthly Interest Rate = (Annual Interest Rate /12) Balance = Balance + Monthly Interest    monthlyProc a virtual function that subtracts the monthly service charges from the balance, calls the calcInt function, and sets the variables that hold the number of withdrawals, number of deposits, and monthly service charges to zero.   Next, design a savings account class, derived from the generic account class.  The savings account class should have the following additional member:                                    status  (to represent an active or inactive account)   If the balance of a saving account falls below $25, it becomes inactive.  (The status member could be a flag variable. ) No more withdrawals may be made until the balance is raised above $25, at which time the account becomes active again.  The saving account class should have the following member functions:   withdraw   A function that checks to see if the account is inactive before a withdrawal is made.  (No withdrawal will be allowed if the account is not active.)  A withdrawal is then made by calling the base class version of the function. deposit   A function that checks to see if the account is inactive before a deposit is made.  If the account is inactive and deposit brings the balance above $25, the account becomes active again.  The deposit is then made by calling the base class version of the function. monthlyProc Before the base class function is called, this function checks the number of withdrawals.  If the number of withdrawals for the month is more than four, a service charge of $1 for each withdrawal above four is added to the base class variable that holds the monthly service charges.  (Don’t forget to check the account balance after the service charge is taken.  If the balance falls below $25, the account becomes inactive. )   Next, design a checking account class, also derived from the generic account class.  It  should have the following member function:   withdraw Before the base class function is called, this function will determine if a withdrawal (a check written) will cause the balance to go below $0.  If the balance goes below $0, a service charge of $15 will be taken from the account.  (The withdrawal will not be made.)  If there isn’t enough in the account to pay the service charge, the balance will become negative and the customer will owe the negative amount to the bank.    monthlyProc Before the base class function is called, this function adds the monthly fee of $5 plus $0.10 per withdrawal (check written) to the base class variable that holds the monthly service charges.     Write a complete program that demonstrates these classes by asking the user to enter the amounts of deposits and withdrawals for a saving account and checking account.  The program should display statistics for the month, including beginning balance, total amount of deposits, total amount of withdrawals, service charges, and the ending balance.  Print the result on-screen and an output file.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

(In C++)  

This program should be designed and written by a team of students.  Here are some suggestions:

  1. You may work on a single class.
  2. The parameter and return type s of each function and class member function should be decided in advance.
  3. The program will be best implemented as a multi-file program, (header file, the main program,..)
  4. You need to print all output to an output file and submit it to the instructor during the final exam. Design a generic class to hold the following information about a bank account:

Balance

Number of deposits this month

Number of withdrawals 

Annual Interest Rate

Monthly service charges

The class should have the following member function:

                Constructors 

Accepts arguments for the balance and annual interest rate.

 

 

 deposit

 

 

a virtual function that accepts an argument for the amount of the deposit.  The function should add the argument to the account balance. 

It should also increment the variable holding the number of deposits.

withdraw

 

 

a virtual function that accepts an argument for the amount of the withdrawal.  The function should subtract the argument from the account balance.  It should also increment the variable holding the number of withdrawals.

calcInt

 

 

a virtual function that updates the balance by calculating the monthly interest earned by the account, and adding this interest to the balance.  This is performed by the account, and adding this interest to the balance.  This is performed by the following formulas:

 Monthly Interest = Balance *Monthly Interest Rate

Monthly Interest Rate = (Annual Interest Rate /12)

Balance = Balance + Monthly Interest 

 

monthlyProc a virtual function that subtracts the monthly service charges from the balance, calls the calcInt function, and sets the variables that hold the number of withdrawals, number of deposits, and monthly service charges to zero.

 

Next, design a savings account class, derived from the generic account class.  The savings account class should have the following additional member:

 

                                 status  (to represent an active or inactive account)

 

If the balance of a saving account falls below $25, it becomes inactive.  (The status member could be a flag variable. ) No more withdrawals may be made until the balance is raised above $25, at which time the account becomes active again.  The saving account class should have the following member functions:

 

withdraw

 

A function that checks to see if the account is inactive before a withdrawal is made.  (No withdrawal will be allowed if the account is not active.)  A withdrawal is then made by calling the base class version of the function.

deposit

 

A function that checks to see if the account is inactive before a deposit is made.  If the account is inactive and deposit brings the balance above $25, the account becomes active again.  The deposit is then made by calling the base class version of the function.

monthlyProc

Before the base class function is called, this function checks the number of withdrawals.  If the number of withdrawals for the month is more than four, a service charge of $1 for each withdrawal above four is added to the base class variable that holds the monthly service charges.  (Don’t forget to check the account balance after the service charge is taken.  If the balance falls below $25, the account becomes inactive. )

 

Next, design a checking account class, also derived from the generic account class.  It  should have the following member function:

 

withdraw Before the base class function is called, this function will determine if a withdrawal (a check written) will cause the balance to go below $0.  If the balance goes below $0, a service charge of $15 will be taken from the account.  (The withdrawal will not be made.)  If there isn’t enough in

the account to pay the service charge, the balance will become negative and the customer will owe the negative amount to the bank.

 

 monthlyProc Before the base class function is called, this function adds the monthly fee of $5 plus $0.10 per withdrawal (check written) to the base class variable that holds the monthly service charges.  

 

Write a complete program that demonstrates these classes by asking the user to enter the amounts of deposits and withdrawals for a saving account and checking account.  The program should display statistics for the month, including beginning balance, total amount of deposits, total amount of withdrawals, service charges, and the ending balance.  Print the result on-screen and an output file.  

 

The pictures are the sample output/desired one.

BANK ACCOUNT MENU
1. Savings Account Deposit
2. Checking Account Deposit
3. Savings Account Withdrawal
4. Checking Account Withdrawal
5. Update and Display Account Statistics
6. Exit
Your choice, please: (1-6) 5
SAVINGS ACCOUNT MONTHLY STATISTICS:
Withdrawals:
1
Deposits:
Service Charges:
0.00
Ending Balance:
80.33
Press a key to continue.
CHECKING ACCOUNT MONTHLY STATISTICS:
Withdrawals:
1
Deposits:
1
Service Charges:
5.10
Ending Balance:
95.82
*****
BANK ACCOUNT MENU ********
1. Savings Account Deposit
2. Checking Account Deposit
3. Savings Account Withdrawal
4. Checking Account Withdrawal
5. Update and Display Account Statistics
6. Exit
Your choice, please: (1-6)
Transcribed Image Text:BANK ACCOUNT MENU 1. Savings Account Deposit 2. Checking Account Deposit 3. Savings Account Withdrawal 4. Checking Account Withdrawal 5. Update and Display Account Statistics 6. Exit Your choice, please: (1-6) 5 SAVINGS ACCOUNT MONTHLY STATISTICS: Withdrawals: 1 Deposits: Service Charges: 0.00 Ending Balance: 80.33 Press a key to continue. CHECKING ACCOUNT MONTHLY STATISTICS: Withdrawals: 1 Deposits: 1 Service Charges: 5.10 Ending Balance: 95.82 ***** BANK ACCOUNT MENU ******** 1. Savings Account Deposit 2. Checking Account Deposit 3. Savings Account Withdrawal 4. Checking Account Withdrawal 5. Update and Display Account Statistics 6. Exit Your choice, please: (1-6)
BANK ACCOUNT MENU
....
1. Savings Account Deposit
2. Checking Account Deposit
3. Savings Account Withdrawal
4. Checking Account Withdrawal
5. Update and Display Account Statistics
6. Exit
Your choice, please: (1-6) 1
Enter amount to deposit: 100
****..** BANK ACCOUNT MENU
1. Savings Account Deposit
2. Checking Account Deposit
3. Savings Account Withdrawal
4. Checking Account Withdrawal
5. Update and Display Account Statistics
6. Exit
Your choice, please: (1-6) 2
Enter amount to deposit: 200.50
BANK ACCOUNT MENU
....
1. Savings Account Deposit
2. Checking Account Deposit
3. Savings Account Withdrawal
4. Checking Account Withdrawal
5. Update and Display Account Statistics
6. Exit
Your choice, please: (1-6) 3
Enter amount to withdraw: 20
Transcribed Image Text:BANK ACCOUNT MENU .... 1. Savings Account Deposit 2. Checking Account Deposit 3. Savings Account Withdrawal 4. Checking Account Withdrawal 5. Update and Display Account Statistics 6. Exit Your choice, please: (1-6) 1 Enter amount to deposit: 100 ****..** BANK ACCOUNT MENU 1. Savings Account Deposit 2. Checking Account Deposit 3. Savings Account Withdrawal 4. Checking Account Withdrawal 5. Update and Display Account Statistics 6. Exit Your choice, please: (1-6) 2 Enter amount to deposit: 200.50 BANK ACCOUNT MENU .... 1. Savings Account Deposit 2. Checking Account Deposit 3. Savings Account Withdrawal 4. Checking Account Withdrawal 5. Update and Display Account Statistics 6. Exit Your choice, please: (1-6) 3 Enter amount to withdraw: 20
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 5 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY