In this project, we will extend our bowlingAlley class to include a waiting list. Parties that arrive while the bowling alley is full will wait and be assigned in a First-Come-First-Server order as other parties finish.
You have been provided the header files bowlingOrWaiting.h, bowlingAlley.h, bowlingExceptions.h, party.h, IOExceptions.h, QueueP.h, QueueP.cc, and QueueException.h defining the classes bowlingAlley and party, and the appropriate exceptions. Your task is to implement the member functions for the class bowlingOrWaiting. This code will be contained in the files bowlingOrWaiting.cc.
As with all projects, you must write a thorough test program for your implementation of these member functions. Your test program should be contained in the file main.cc and should be documented using the "percent block" comments.
The Guidelines for Programming Projects apply. You are also subject to the Guidelines for Programming Assignments, issued by the Department of Computer Science as an addendum to The Honor System.
The set operations have been removed for this project for simplicity of testing.
We have already tested the functions in the base bowlingAlley class. Therefore, you only have the three functions in the bowlingOrWaiting class to test.
You should remove the output statements from all constructors and destructors.
To submit your files for grading, place bowlingAlley.cc, party.cc and main.cc in the same directory, and at the prompt in that directory enter:
~radu/bin/submit CS241 project6 *.dat
If you are using a slip day for this project, you must submit with:
~radu/bin/submit CS241 project6late *.dat
Your submission will fail if the project does not compile. The submit program does not count slip day usage, but the graders do.
The implementation points cover both correctness and efficiency. It is not enough to turn in a program that compiles and executes. The graders will scrutinize the implementation of the member functions and will deduct points for poor design decisions even if your program runs correctly on all reasonable input.
The style points cover poor programming style that needs to be addressed and a lack of useful comments within your program. In addition, graders may deduct style points for implementations that will work but could lead to difficulties or inefficiencies as we proceed on to future assignments.
When grading your test program, the graders will look for evidence that you considered the various implementation issues in this class. Even if your code works, you will be penalized for not testing that it works. This also means that you can lose points twice for the same issue: once in the implementation and again for not performing proper testing (which would have identified the first).