CSC 427: Data Structures and Algorithm Analysis
Fall 2011

HW2: Quiz Grades


You have been hired by a college professor to process quiz grades for a class. The particular class in question is a self-paced course, where students work through materials and take quizzes on their own schedule. The course can be customized for different students, so not all students will take the same quizzes, or even the same number of quizzes. In addition, students may retake a quiz as many times as they choose, with the last score being the one that counts.

You are to read in student quiz grades from a file, where each line of the file is of the form:

  LAST_NAME FIRST_NAME QUIZ_NUMBER POINTS_EARNED POINTS_POSSIBLE

For example, the line

  Smith Jane 4 8 10

specifies that Jane Smith took quiz #4 and earned 8 out of a possible 10 points. You may assume that student names do not contain spaces, and that the quiz number and point values are all non-negative integers.

Your program should read in and process all of the quiz grades from a file (whose name is entered by the user). After all of the grades have been processed, the final quiz average for each student should be displayed.

For example, suppose the file specified by the user contained the following:

    Smith Jane 1 3 5
    Bluejay Billy 1 8 8
    Davies Joel 2 1 5
    Bluejay Billy 2 13 15
    Smith Jane 3 2 3
    Smith Jane 1 5 5
Then, a full-credit program should output:
    Bluejay Billy 91.30434782608695
    Smith Jane 87.5
    Davies Joel 20

As with HW1, you must demonstrate good programming style when completing this assignment, including the appropriate use of Javadoc-style comments for all classes and methods. The interface for your program is entirely up to you. It need not be fancy, but it must at least allow the user to enter a file name and view the results. You may choose to use the GUI builder that comes with NetBeans if you wish.