Ask Homework Help/Study Tips Expert

Bank Service Counter

Rough Specifications (as received from bank)

A bank service counter has a queue of persons waiting to be served.

A bank holds a number of accounts, each having: a unique identification number (ID), the name of the owner and a balance (which cannot be negative).

Assume there is only one service queue, and every person (waiting in line to be served) either has one (or more) accounts in the bank or does not have any account.

As such, once a person reaches the service counter, he is served by the service person (server). This person may ask for any one of the following services:

(a) create a new account, possibly depositing a sum of money into it;
(b) close an existing account (with ID), withdrawing any positive balance from it;
(c) deposit an amount into one of his existing accounts (with ID);
(d) withdraw an amount from one of his existing accounts (with ID)- assuming he has enough;
(e) no request.

A person can only make one request (or no request). Once a person's request is processed by the server he leaves the line, and the next person in line (if any) is served.

From a server's perspective, the server is simply interacting with the person at the front of the line and turning his request into a service request of the form (person_name, service_type, ID/XX, deposit/withdrawal_amount).

XX stands for a new and unique ID will have to be generated by the server. Hence,

(a) = (name, new, XX, amount)
(b) = (name, close, ID, amount)
(c) = (name, deposit, ID, amount)
(d) = (name, withdrawal, ID, amount)
(e) does not result in a service request.

A bank may be viewed as no more than a holder of accounts. Assume all accounts are of the same type (e.g., savings). There is no need to bunch accounts together by owner (name).

If any, the person as the front of the line is served by the server.

This may result in a service request (or none)

The result of the processing of a service request may be the creation or destruction of a bank account or the change of some attribute of an existing account.

Build a program that interacts with a queue of persons, processing their service requests in order, resulting in changes to the accounts held by the bank.

Main Program Behaviour

0. The program creates a bunch of accounts (on a random basis but in a way that makes sense), and prints them out as (name, ID, balance).

1. The program Interacts* with 'real' persons, one at a time, creating service requests that are added to the service requests queue. Once all the persons are handled, the result will be a queue of service requests that need processing.

2. The program proceeds to process one service request at a time, until the queue is empty.

3. The program will reprint the accounts as (name, ID, balance).

*By interaction, I mean using the keyboard and screen as I/O devices.

Class Design Tips

It is suggested that you build and utilize the following classes; it is up to to you to decide what the exact properties of each class are and the relationship between them (and their objects).

- A bank class capable of holding many account objects (of class account)
- A service_request class, capable of generating any number of service_request objects
- A queue class capable of holding a max number of service_request objects

The queue class should be derived from a base class called container. This is to allow for the derivation of another class (from the same base) called stack- you don't need a stack for this assignment, and hence, you do not need to implement any of the methods of stack.

Testing Issues

It is suggested that you test each of your classes before utilizing them in your main program.

Finally, The main program must be tested with a minimum of 10 different series of interactions (generating 10 different queues of service requests), with the state of the bank before and after these interactions shown.

Please note that you are given a lot of flexibility in terms of design and testing, as long as you use that flexibiliy to improve design or behaviour.

// end.

Attachment:- Archive.zip

Homework Help/Study Tips, Others

  • Category:- Homework Help/Study Tips
  • Reference No.:- M91972168

Have any Question?


Related Questions in Homework Help/Study Tips

Review the website airmail service from the smithsonian

Review the website Airmail Service from the Smithsonian National Postal Museum that is dedicated to the history of the U.S. Air Mail Service. Go to the Airmail in America link and explore the additional tabs along the le ...

Read the article frank whittle and the race for the jet

Read the article Frank Whittle and the Race for the Jet from "Historynet" describing the historical influences of Sir Frank Whittle and his early work contributions to jet engine technologies. Prepare a presentation high ...

Overviewnow that we have had an introduction to the context

Overview Now that we have had an introduction to the context of Jesus' life and an overview of the Biblical gospels, we are now ready to take a look at the earliest gospel written about Jesus - the Gospel of Mark. In thi ...

Fitness projectstudents will design and implement a six

Fitness Project Students will design and implement a six week long fitness program for a family member, friend or co-worker. The fitness program will be based on concepts discussed in class. Students will provide justifi ...

Read grand canyon collision - the greatest commercial air

Read Grand Canyon Collision - The greatest commercial air tragedy of its day! from doney, which details the circumstances surrounding one of the most prolific aircraft accidents of all time-the June 1956 mid-air collisio ...

Qestion anti-trustprior to completing the assignment

Question: Anti-Trust Prior to completing the assignment, review Chapter 4 of your course text. You are a manager with 5 years of experience and need to write a report for senior management on how your firm can avoid the ...

Question how has the patient and affordable care act of

Question: How has the Patient and Affordable Care Act of 2010 (the "Health Care Reform Act") reshaped financial arrangements between hospitals, physicians, and other providers with Medicare making a single payment for al ...

Plate tectonicsthe learning objectives for chapter 2 and

Plate Tectonics The Learning Objectives for Chapter 2 and this web quest is to learn about and become familiar with: Plate Boundary Types Plate Boundary Interactions Plate Tectonic Map of the World Past Plate Movement an ...

Question critical case for billing amp codingcomplete the

Question: Critical Case for Billing & Coding Complete the Critical Case for Billing & Coding simulation within the LearnScape platform. You will need to create a single Microsoft Word file and save it to your computer. A ...

Review the cba provided in the resources section between

Review the CBA provided in the resources section between the Trustees of Columbia University and Local 2110 International Union of Technical, Office, and Professional Workers. Describe how this is similar to a "contract" ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As