/* CalculateGPA.java David G. Klick September 28, 2007 CIS 111 Demonstrates a loop used to calculate GPA. */ public class CalculateGPA extends CIS111App { public static void main(String[] args) { // declare and initialize variables int sum = 0; int ctr = 0; double gpa = 0.0; char grade; // display intro message println("\nThis program calculates GPAs\n"); // priming read grade = getChar("Enter letter grade ('q' to quit): "); // loop to accumulate grade while (grade != 'q' && grade != 'Q') { switch (grade) { case 'A': case 'a': sum = sum + 4; ctr++; break; case 'B': case 'b': sum = sum + 3; ctr++; break; case 'C': case 'c': sum = sum + 2; ctr++; break; case 'D': case 'd': sum = sum + 1; ctr++; break; case 'F': case 'f': sum = sum + 0; ctr++; break; case 'Q': case 'q': // do nothing break; default: println("Error: Unrecognized grade entered"); } grade = getChar("Enter letter grade ('q' to quit): "); } // only display totals if some valid grades were entered if (ctr > 0) { gpa = (double) sum / ctr; printf("\nFor %d grades entered, GPA is %.2f\n", ctr, gpa); } else { println("\nNo valid grades were entered"); } } }