Question: For this assignment, you will build a bank account system with various capabilities using classes in C + + . 1 . You will create

For this assignment, you will build a bank account system with various capabilities using classes
in C++.
1. You will create an Account class that defines public and private member data and
member functions, including constructors/destructors, a static variable, an overloaded
operator, etc. In particular, the Account class will be structured as follows:
Account.h
This header file will contain any #include and using directives along with the actual
class declaration containing:
o Three private member variables: an integer (or integer pointer) for the 4-digit
account number, a string to hold the customers name of the account, and
floating-point number to hold the balance of account under this name
o At least one public constructor, a public destructor, a public copy
assignment operator, public accessor/mutator member functions for each
private variable, and any additional member functions as needed.
o A static integer variable that holds the next account number available that can be
used as an account number. For example, the first created account will use the
integer 1000, so the next available account number will be 1001. This is done
class-wide to keep track of a "global" view of available account numbers.
o An overloaded operator declaration + or += to support a fast transfer of $40.00
from one bank account to another. For example, this operation may be done using
the following code:
accts.at(dstAcctIndex)+= accts.at(srcAcctIndex);
where accts is a vector of Account type in my main() function and I am
moving $40.00 from a source account (denoted by srcAcctIndex) to a
destination account (denoted by dstAcctIndex). More details on this particular
functionality will be provided in the description of the fast transfer menu function.
Account.cpp
o The implementation section will contain the appropriate #include directive to the
Account.h header file as well as applicable constructor(s), destructor, copy
constructor, overloaded operator definition, static variable initialization,
accessor/mutator member function definitions, and any additional member function
definitions declared in the header.
CSCE 1040 Project 3
Due: 11:59 PM on Sunday, April 14,2024
2 of 20
2. You will organize the rest of your program into two files as follows:
Project3.h
o The project3.h header file will contain the appropriate #include directive to
the Account.h header file as well as any needed #include and using
directives, #define directives, enumerated data types, structures, type definitions,
and the list of function prototypes (i.e., function definitions).
Project3.cpp
o The project3.cpp implementation source code file will contain the appropriate
#include directive to the Account.h header file (all other #include
directives should be in the project3.h header file), the main () function for
theprogram, and any supporting function definitions as described below.
3. Implementation of the bank account system will consist of the following:
As with all projects in this course, your programs output will display your name, your
EUID, your e-mail address, the department name, and course number. This means that
your program will print this information to the terminal (see Sample Output).
You will declare and use either a vector or a dynamically allocated array of your
Account data type as a container to hold all the instantiated Account objects of
customer "bank accounts".
In a loop of your choice, you will repeatedly display a menu of options until the user
enters the selection to terminate the program as follows:
1. Open new account
2. Deposit into account
3. Withdraw from account
4. Fast transfer $40 into account
5. Print a list of all accounts
6. End transaction (Exit)
Although you may assume that the user enters an integer in response to this menu, the
integer may be out of range. If the user enters an invalid menu option (i.e., not an
integer between 1 and 6, inclusively), your program will display an error message and
re-display the menu. The variable used to read in the users selection will be
implemented as an integer variable, so memory must be dynamically allocated and
freed as appropriate.
For each of the menu options except the "6. End transaction (Exit)" option, you will
implement the functionality in separate functions. For example, when the user selects
CSCE 1040 Project 3
Due: 11:59 PM on Sunday, April 14,2024
3 of 20
option 1, you will perhaps call a function called openAccts(...) that will open a new
bank account for the user. If the user enters an integer between 1 and 6, inclusively,
then your program willperform the requested operation as follows:
o Open new account
You will prompt the user for and read in the customer account name and initial
deposit amount. The account number will be automatically generated from the
static integer variable defined earlier that holds the next account number
available. Using this d

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Accounting Questions!