1. Program Correctness (75%): The programs do everything that the lab requires. If you have a question about how a program handles a certain input, check the executables that have been provided.

    1. linenum (75 points) deduct 5 points for not using the fields library and 20 points for not using my sllist library.
      • prints out each line on which a word appears (25 points)
      • does not duplicate line numbers (15 points)
      • properly handles words that do not appear in the file (10 points)
      • handles empty files (5 points)
      • handles extremely large files (5 points)
      • formatting
        • words are left justified in a 10 character wide field (5 points)
        • line numbers are right justified in a 4 digit wide field (5 points)
      • error conditions
        • handles wrong number of command line arguments (3 points)
        • handles filenames that do not exist (2 points)

  2. Commenting (15%): See the commenting information on the course's lab web page for advice on how to comment your programs,

  3. Program Style (10%): Are the programs well-organized and do they solve the problem in the most straightforward, efficient way possible?