Computer Science 241

Data Structures

Project 3

Due at 11:59 PM on Wednesday, Oct 22

Overview

The purpose of this project is to implement the bowlingAlley class using a linked list. The functionality of this project will be identical to project 2. The bowlingAlley will hold a set of party objects linked together in a list.

Specifications

You have been provided the header files bowlingAlley.h, bowlingExceptions.h, party.h, and IOExceptions.h defining the classes bowlingAlley and party, and the appropriate exceptions. Your task is to implement the member functions of the bowlingAlley class. This code will be contained in the file bowlingAlley.cc as appropriate.

As with previous projects, you must write a thorough test program for your implementation. 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.

Additional Notes

The insert operation should be implemented as head insert;

Submit

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 project3 *.dat

If you are using a slip day for this project, you must submit with:

~radu/bin/submit CS241 project3late *.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 third parameter to the submit program allows you to submit your input files (up to three extra files). Input files should have the extension .dat (e.g. input.dat, goodinput.dat, myinput.dat, etc.)

Grading

10 points each
bowlingAlley default constructor
bowlingAlley destructor
15 points each
assignGroup() implementation
20 points each
bowlingAlley copy constructor
removeGroup() implementation
5 points each
isBowling() implementation
displayGroup() implementation
Style
Test Program
Past Sins

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.

Some specific things the graders will be looking for:

Header Files


Valid XHTML 1.0! Valid CSS!