Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Write the program in C++ Using Structures/Classes: You have been hired as a programmer by a major bank. Your first project is a small banking

Write the program in C++

Using Structures/Classes: You have been hired as a programmer by a major bank. Your first project is a small banking transaction system. Each account consists of a number and a balance. The user of the program (the teller) can create a new account, as well as perform deposits, withdrawals, balance inquiries, close accounts, etc..

Initially, the account information of existing customers is to be read into an array of BankAccount structures (or simple classes). The data members of the structure will include; first name, last name, social security number, account number, account type (Checking, Savings, or CD), and account balance. The bank can handle up to MAX_NUM accounts. Use the following function to read in the data values:

int read_accts(BankAccount account[], int max_accts);

This function fills up the array (up to max_accts) and returns the actual number of accounts read in (referred to as num_accts).

After initialization, print the initial database of accounts. Use function print_accts() described below. The program then allows the user to select from the following menu of transactions:

Select one of the following:

W - Withdrawal

D - Deposit

N - New account

B - Balance

I - Account Info

X - Delete Account

Q - Quit

Use the following function to produce the menu:

void menu();

This function only displays the menu. The main program then prompts the user for a selection. You should verify that the user has typed in a valid selection (otherwise print out an error message and repeat the prompt).

Once the user has entered a selection, one of the following functions should be called to perform the specific transaction. At the end, before the user quits, the program prints the contents of the database.

int findacct(const BankAccount account[], int num_accts, int requested_account);

This function returns the index of requested_account in the array account if the account exists, and -1 if it doesn't. It is called by all the remaining functions.

void withdrawal(BankAccount account[], int num_accts);

This function prompts the user for the account number. If the account does not exist, it prints an error message. Otherwise, it asks the user for the amount of the withdrawal. If the account does not contain sufficient funds, an it prints an error message and does not perform the transaction.

void deposit(BankAccount account[], int num_accts);

This function prompts the user for the account number. If the account does not exist, it prints an error message. Otherwise, it asks the user for the amount of the deposit.

int new_acct(BankAccount account[], int num_accts);

This function prompts the user for a new account number. If the account already exists, it prints an error message. Otherwise, it adds the account to the database. The program then prompts the user to enter the new depositors first name, last name, social security number, the account type (Checking, Savings, or CD), and the initial opening deposit. The function returns the new number of accounts in the database.

int close_acct(BankAccount account[], int num_accts);

This function prompts the user for an account number. If the account does not exist, or if the account exists but has a non-zero balance, it prints an error message. Otherwise, it closes and deletes the account. It returns the new number of accounts.

void balance(const BankAccount account[], int num_accts);

This function prompts the user for an account number. If the account does not exist, it prints an error message. Otherwise, it prints the account balance.

void account_info(const BankAccount account[], int num_accts);

This function prompts the user for a social security number. If the account does not exist, it prints an error message. Otherwise, it prints the complete account information for the account requested.

void print_accts(const BankAccount account[], int num_accts);

This function prints a table of the complete account information for every active account.

Make sure to use enough test cases so as to completely test program functionality.

Use nested structures/classes:

1. A BankAccount consists of a Depositor, an account number, an account type, and a balance.

2. A Depositor has a Name and a social security number.

3. A Name consists of first and last names.

Notes:

1. All output must be file directed

2. Only output must go to the file - not interactive prompts.

3. No global variables are allowed

4. The program and all functions must be properly commented.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Graph Database Modeling With Neo4j

Authors: Ajit Singh

2nd Edition

B0BDWT2XLR, 979-8351798783

More Books

Students also viewed these Databases questions

Question

=+what kinds of policies and practices should be developed?

Answered: 1 week ago

Question

=+ Of the HR issues mentioned in the case,

Answered: 1 week ago