We have given you well-defined public interfaces for your FormattedReader
and HashTable classes and we will write programs that create instances of
these classes and call the methods in the public interface. It is therefore
important that you name your classes and methods exactly as instructed by
the lab writeup.
- FormattedReader.cpp (30 points)
- read_line/get_field (20 points):
- get_line_number (2 points)
- get_current_line (2 points)
- get_int (3 points)
- get_double (3 points)
- HashTable.cpp (15 points): This section shows possible deductions. The
sum of all the deductions is greater than 15 points but you cannot
lose more than 15 points on this part of the lab.
- Failure to use C++ Dlist's for separate chaining (-10 points)
- Failure to allow the user to create an arbitrarily sized
hash table (-2 points)
- Failure to write the [] operator (the student creates a
find or lookup method instead) (-10 points)
- sort_stock.cpp (45 points): This section shows possible deductions. The
sum of all the deductions is greater than 45 points but you cannot
lose more than 45 points on this part of the lab.
- Use of Data Structures
- Failure to use a HashTable to store people records (-15 points)
- Failure to use C++ Red-Black trees to store stock symbols with
each person (-15 points)
- Failure to use C++ Red-Black trees to store transactions by date
(-15 points)
- Passing a compare function to the red black tree constructor
rather than defining the boolean <, >, and == operators
(-10 points)
- Fields library not used for search queries (-5 points)
- TransactionRecord
- Missing copy constructor for TransactionRecord (-5 points)
- Missing assignment operator for TransactionRecord (-5 points)
- Error Checking: You are responsible for doing the error checking
described in the lab plus the usual error checking of command
line arguments, return values from new, etc.
- Output
- Failure to follow the report formatting specifications (up to
-15 points)
- Stock symbols not sorted (-5 points)
- Transactions not sorted in ascending order by date (-5 points)
- Missing transaction records (-15 points)
- Search queries incorrectly report whether or not the person was
found (-10 points)
- Only one search query permitted rather than multiple search
queries (-2 points)
- appropriate commenting (10 points)