Member function outputGrades
(lines 140–165) uses nested counter-controlled for
statements to output values of the array grades
, in addition to each student’s semester average. The output in Fig. 7.21 shows the result, which resembles the tabular format of a professor’s physical grade book. Lines 146–147 print the column headings for each test. We use a counter-controlled for
statement so that we can identify each test with a number. Similarly, the for
statement in lines 152–164 first outputs a row label using a counter variable to identify each student (line 154). Although array
indices start at 0, lines 147 and 154 output test + 1
and student + 1
, respectively, to produce test and student numbers starting at 1 (see Fig. 7.21). The inner for
statement in lines 157–158 uses the outer for
statement’s counter variable student
to loop through a specific row of array grades
and output each student’s test grade. Finally, line 162 obtains each student’s semester average by passing the current row of grades
(i.e., grades[student]
) to member function getAverage
.