Programming Project 2

Due: Monday, April 7, in class.

Your job is to create three files which will provide the interface, implementation, and a test client for the set ADT discussed in class (and in Exercise 5 on page 158 of the text). Your interface must include at least the set operations equality, subset, union, and intersection, as well as a constructor and a display function.

You should base your project on the array-based list ADT we have been looking at. You do not need to worry about efficiency, but you do need to make sure that your ADT correctly implements the behavior of sets--in particular, there should be no duplicate elements in a set.

You will need to handle error situations, either using a success parameter or using exceptions (these are the two techniques shown for the list ADT in Chapter 3).

You may work by yourself or with one or two partners. No group may be larger than three students. Be sure to list all group members' names in the comments in each file, and include the account number (such as CSC12200) where the code is located.

There is a project template in I:\CSC122\Public\Howard\Templates\Project2 which you may copy into your own folder to get started. When you are done, turn in a printout of all three source files, together with the grading sheet which I will provide.

Be sure to concentrate on design before you begin coding. Remember the connection between Chapter 1 and the rest of the chapters. You will be graded on all eight issues of style listed on page 36 of the text. In particular, I will not accept code that uses global variables!