In a banking system, a queueing management system is used where customers
can choose one of the following services at the ticket dispenser:
3- Customer Service
4- Front Desk.
Customers can be either: regular customers, or gold customers, which affects
their time of service as gold customers have higher priority than regular
Write a program to simulate the banking system where your program will
read customer data from the user. The data will come in the form given below
where an incoming customer’s consists of:
(1) an arrival time
(2) a service required
(3) a priority (0 for regular customers, 1 for gold customers, or 2 for a
An example input is shown below.
08:30 Deposit 1
08:35 Front Desk 0
08:35 Front Desk 0
08:36 Customer Service 0
09:00 Withdrawal 1
09:05 Withdrawal 0
….. ….. …..
Your program will take as input:
(1) the file name
(2) number of tellers to process deposit and withdrawal requests, and
(3) number of customer service agents,
(4) average times of
(a) a deposit ,
(b) a withdrawal,
(c) a customer service, and
(d) a front desk service in minutes. The number of Front Desk
agents is always 1.
Queues will be used so that bank employees draw from the appropriate queue.
Note that an employee cannot draw a customer if they haven’t arrived yet, so
you should keep track of the current time. Also when drawing from a queue,
draw 2 of the higher priority customers than 1 of the regular customers to
maintain a faster queue for the gold customers.
1- display the time each customer took to get serviced,
2- display the average wait time of:
(a) all services
3- display the average wait time of:
(a) deposit & withdrawal service
(b) customer service
(c) front desk service.
The program will also display the idle time of each of the bank employees.
Use queues and other appropriate data structures to implement your program
- Read the customer’s data from a file with the name given by the user.