Question: For this assignment, you will continue with the dynamic bank account system with various capabilities using classes in C + + created in Project 2

For this assignment, you will continue with the dynamic bank account system with various
capabilities using classes in C++ created in Project 2 and 3. Unless so indicated, all of the
requirements for Project 3 also hold for Project 4. In this assignment, you will be changing
your vector or dynamically allocated array of your Account data type as a container to
hold all of the instantiated Account objects of customer "bank accounts" to using linked
lists, while not explicitly adding new functionality. This means that you will be removing the
vector for the bank accounts (most likely declared in main()) and replacing them with linked
lists. You will continue to use the same four files (i.e.,2 source code and 2 header files, but names
changed to project4.h and .cpp instead of project3.h and .cpp, respectively) along with the makefile
created for Project 3.
Requirements
:
Most of your changes will most likely be contained in the project4.h and
project4.cpp files that replace the old project3.h and project3.cpp files, respectively, as
you change accessing the data structures from a vector to a linked list. You can use the list
library to implement this program.
You will no longer need to support the overloaded operator +or +=for the fast transfer of
$40.00 from one bank account to another that was required in Project 3. However, you will
still keep the menu option in place, but add an exception handler when this option
is selected. Your fast transfer function should still be called, but instead of
implementing this functionality, it will simply throw a runtime error indicating that the
option is no longer supported. This means that upon selection of this option, you will need
to add the exception handling mechanism with a try block surrounding your call to your
fast transfer function and a catch associated with this try block.
Modification on Withdraw from account: the withdraw function should validate the input
by throwing an invalid argument exception if the Account number and name do not match,
or account not found. Additionally, if the account balance is not enough to cover the
withdrawal, the function should throw a runtime error exception to signal insufficient funds.
The account balance must not change if an exception is thrown.
General
Requirements:
Your program will also be graded based upon your program style. This means that you
should use comments (as directed), meaningful variable names, and a consistent
indentation style as recommended in the textbook and in class.
Your code should be well documented in terms of comments. For example, good comments in
general consist of a header (with your name, course section, date, and brief description),
comments for each variable, and commented blocks of code.
CSCE 1040 Project 4
Due: 11:59 PM on Tuesday, April 30,2024
2 of 3
Your program will be graded based largely on whether it works correctly on the CSE
machines (e.g., cse01, cse02,..., cse06), so you should make sure that your program
compiles and runs on a CSE machine. No regular or late credit will be given for
any program that does not compile and run on the CSE Linux servers.
You should contact your instructor if there are any questions about what is being asked for in
this programming assignment.
This is an individual programming assignment that must be the sole work of the individual
student. Any instance of academic dishonesty will result in a grade of F for the course, along
with a report filed into the Academic Integrity Database.
Algorithm
Design:
On a piece of paper (or word processor), write down the algorithm, or sequence of steps, that you
will use to solve the problem. You may think of this as a recipe for someone else to
follow. Continue to refine your "recipe" until it is clear and deterministically solves the problem.
Be sure to include the steps for prompting for input, performing calculations, and displaying
output.
You should attempt to solve the problem by hand first (using a calculator as needed) to work out
what the answer should be for a few sets of inputs.
Type these steps and calculations into a document (i.e., Word, text, or PDF) that will be
submitted along with your source code. Note that if you do any work by hand, images (such as
pictures) may be used, but they must be clear and easily readable. This document shall contain both
the algorithm and any supporting hand-calculations you used in verifying your results.
Your algorithm only needs to document the linked list changes to your program.
Sample Output (input shown in bold):
SAMPLE OUTPUT shown are the changes that the error in Withdraw function and Fast
Transfer is no longer supported, though the menu option is still present. All other functionality
should remain the same.
$ make
g++-c -Wall project4.cpp
g++-c -Wall Account.cpp
g++-o proj4 project4.o Account.o
$ ./proj4

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 Programming Questions!