Programming assignment, Programming Languages

Assignment Help:

The fancy new French restaurant La Food is very popular for its authentic cuisine and high prices. This restaurant does not take reservations. To help improve the efficiency of their operations, the Maitre De has hired you to write a program that simulates people waiting for tables. The goal is to determine the average amount of time people spend waiting for tables.

Your program will read in a list of event descriptions from a text file, one description per line.

Arrival: A party has arrived to eat. Add them to the end of the list of waiting parties (a Queue) and tell them to wait at the bar (where strong drinks are served) until called. This event is described in the following format:

A t n name

Here tis the time of arrival (in minutes past opening time), n is the number of people in the party, and name is the name to call when the table is ready.

Table: A table has become available; remove the party that has been waiting the longest from your list, and seat them. This event is described in the following form:

T t

Here tis the time the table became available (again, in minutes past opening time),

Quit: This is a sentinel event indicating the end of the input file. It has the following form:

Q

When the events in the file have been processed, compute and print the average waiting time per customer. If there are still people waiting for tables, print a summary of who is still waiting.

Sample Data File

Here is a sample data file. You may use this if you like, or you can make up your own.

A 3 3 Merlin

A 8 2 Arthur Pendragon

T 10

A 12 2 Sir Lancelot

T 15

A 17 3 The Green Knight

T 20

Here is the corresponding output from the simulator program. The user's input appears in italics.

*** Welcome to the La Food Restaurant Simulator ***

Enter data file name: data.txt

Please wait at the bar,

party Merlin of 3 people. (time=3)

Please wait at the bar,

party Arthur Pendragon of 2 people. (time=8)

Table for Merlin! (time=10)

Please wait at the bar,

party Sir Lancelot of 2 people. (time=12)

Table for Arthur Pendragon! (time=15)

Please wait at the bar,

party The Green Knight of 3 people. (time=17)

Table for Sir Lancelot! (time=20)

** Simulation Terminated **

The average waiting time was: 7.28

The following parties were never seated:

party The Green Knight of 3 people

Have a nice meal!

Notes

1. Before you begin programming, sketch a high level design of what you want to implement using the UML notation. At the very least, you should have a use case diagram, class diagram (for the Party class) and a sequence diagram.

2. Remember to include comments at the top of your program and 1-2 lines for each function (including pre- and post-conditions). Use javadoccompatible comments.

3. Develop a Queue class. Hint: Check out the sample Queue java source files included with this assignment. Declare a class Party to hold one party.

4. Read one line of the text file, and then process it, before moving on to the next line. Do not try to read in the entire file before processing it. Reading the text file is probably the trickiest part of this assignment.

5. To compute the average waiting time, keep track of the total number of people seated, and keep track of the total time spent waiting using something like this:

totmins = totmins + partysize*(tos - toa)

wheretosis the time of seating, and toais the time of arrival. Since you need to know both times, this must be done when the party is seated.

6. Start right away!

Hand In

1. Listing (print-out) of your nicely formatted program source code (with comments and headers)

2. Print-out of the text file that contains your restaurant information

3. Screen captures of at least three sample runs/scenario output

4. High level design using UML notation (minimum of a use case diagram, a class diagram for Party class, & a sequence diagram)

5. Utilize the submission template provided in the course module.


Related Discussions:- Programming assignment

Program for a single new-line character, The following function calls suppo...

The following function calls supposedly write a single new-line character, but some are incorrect. Identify which calls don't work and explain why.     printf("%c", '\n');

Need help starting a project out, I''m doing a project for class in college...

I''m doing a project for class in college and im supposed to use today''s date and figure out how old i am in months, days, minutes, and seconds. My question is what is the beset

Matlab help, i(t)=(V/R) * (1-e^-(R/L)(t)) (a) Defi ne an anonymous function...

i(t)=(V/R) * (1-e^-(R/L)(t)) (a) Defi ne an anonymous function answerE that returns i(t) given input t. (b) The fi nal value for the current is 2 amps. Find a time tm when the curr

Read Multiple Text Files, How to read datasets in multiple text files in an...

How to read datasets in multiple text files in an non interactive program?

Selfcare project - strut frame work, Selfcare Project:   Technology U...

Selfcare Project:   Technology Used Strut Frame work, WAS 5.1, WPS 6.0, DB2, AJAX, Eclipse, Rational Application Developer 6 and  DB2 Selfcare is a big umbrella under whic

Version control system, Version Control is a critical tool in development a...

Version Control is a critical tool in development and production environments that allows a user to make snapshots of working con?gurations or code. In this assignment, you will de

Discuss the php operators, Question 1 Explain the history of Internet ...

Question 1 Explain the history of Internet Question 2 What are the advantages of DHTML? Question 3 Explain the concept of DOM Question 4 How does AJAX work

Determine that the processes are iterative or recursive, Each of the follow...

Each of the following two procedures defines a method for adding two positive integers in  terms of the procedures inc, which increments its argument by 1, and dec, which decrement

Design program that presents animation of the solar system, Figure is a rep...

Figure is a representation of the solar system. In a basic model of the same concentric orbits planets rotate around the sun. The closer the Planet in less time Sun completes a ful

Java reflection api, Expertsmind brings you unique solution in java assign...

Expertsmind brings you unique solution in java assignments Reflection API Uses of Reflection with java assignment help Reflection is widely used by applications which

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd