Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I need help, im so lost. I dont know how to do a Queue class for this assignment :( Modify or rewrite the Queue class

I need help, im so lost. I dont know how to do a Queue class for this assignment :(

Modify or rewrite the Queue class (Display 13.21 through 13.23 - pages 772 to 776 in the e-copy of textbook under Chapter 1) to simulate customer arrivals at the Department of Motor Vehicles (DMV) counter.

As customers arrive, they are given a ticket number starting at 1 and incrementing with each new customer. When a customer service agent is free, the customer with the next ticket number is called. This system results in a FIFO queue of customers ordered by ticket number.

Write a program that implements the queue and simulates customers entering and leaving the queue. Input into the queue should be the ticket number and a timestamp when the ticket was entered into the queue. A ticket and its corresponding timestamp is removed when a customer service agent handles the next customer. Your program should save the length of time the last three customers spent waiting in the queue. Every time a ticket is removed from the queue, update these times and output the average of the last three customers as an estimate of how long it will take until the next customer is handled. If nobody is in the queue, output that the line is empty.

Code to compute a timestamp based on the computers clock is given below. The time(NULL) function returns the number of seconds since January 1, 1970, on most implementations of C++:-

#include ... int main(){

long seconds; seconds = static_cast(time(NULL));

cout << "Seconds since 1/1/1970: " << seconds << endl; return 0;

}

Sample execution is shown here:

The line is empty.

Enter '1' to simulate a customer's arrival, '2' to help the next customer, or '3' to quit.

1.

Customer 1 entered the queue at time 100000044.

Enter '1' to simulate a customer's arrival, '2' to help the next customer, or '3' to quit.

1

Customer 2 entered the queue at time 100000049.

Enter '1' to simulate a customer's arrival, '2' to help the next customer, or '3' to quit.

1

Customer 3 entered the queue at time 100000055. Enter '1' to simulate a customer's arrival, '2' to help the next customer, or '3' to quit.

2

Customer 1 is being helped at time 100000069. Wait time = 25 seconds. The estimated wait time for customer 2 is 25 seconds.

Enter '1' to simulate a customer's arrival, '2' to help the next customer, or '3' to quit.

2

Customer 2 is being helped at time 100000076. Wait time = 27 seconds. The estimated wait time for customer 3 is 26 seconds.

Enter '1' to simulate a customer's arrival, '2' to help the next customer, or '3' to quit.

1

Customer 4 entered the queue at time 100000080.

Enter '1' to simulate a customer's arrival, '2' to help the next customer, or '3' to quit.

2

Customer 3 is being helped at time 100000099. Wait time = 44 seconds. The estimated wait time for customer 4 is 32 seconds.

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

Beginning VB 2008 Databases

Authors: Vidya Vrat Agarwal, James Huddleston

1st Edition

1590599470, 978-1590599471

More Books

Students also viewed these Databases questions

Question

Explain the concept of shear force and bending moment in beams.

Answered: 1 week ago

Question

=+Are the contracts enforceable?

Answered: 1 week ago