{: .primer-spec-toc-ignore }
The new data structure that you'll need for Project 3 is the unordered_map<>. We'll be talking about how it works the first lecture back after the midterm, but we didn't want you to have to wait to start on your project until those lectures. Look up the online documentation on the unordered_map<>, and also look at the example file on Canvas / Files / Sample Code / umap_demo.cpp (taken from the Lecture slides) and wordcount.cpp.
There are two starter files that you will need: TableEntry.h and TableEntry.cpp.
Also look at the file Error_messages.txt. There are only two "standard"
error messages for this project that will be sent to cerr
(the other
errors, such as a table name that doesn't exist, are sent to cout
). You
will be shown your cerr
output if:
If you want to add a second line, that's fine, but we won't display it to you. For example, this is valid:
cerr << "Error: Unknown command line option" << endl; cerr << " The argument seen was: " << choice << endl; exit(1);
In this case, we would show you the first line of output in the autograder feedback.
Don't run long-quiet-input.txt without the -q/--quiet flag! It produces a huge output file, and takes a long time to do it.
Execution times for our solution, running on the autograder: short-input.txt: 0.046s long-quiet-input.txt: 2.213s
We've also give you the specification input and output, along with three "checkpoint" tests (input and output). There is no required date for completing the checkpoints, but these test cases do exist on the autograder and will help you gauge your progress.