/*************************************************/
// gradeAvg5.cpp
// R. A. Hillyard
// Last Modified: 02/16/2001
//
// Determine the class average.
// wrapper loop to allow multiple runs of code
/*************************************************/
#include <iostream>
using namespace std;
int main()
{
int gradeSum; //sum of all grades
int counter; //number of grades entered
int grade; //one grade
int average; //class average
char choice; //holds the user choice to continue
do
{
//common mistake to not initialize variables before each loop
counter = 0; //how many times through loop
gradeSum = 0; //set sum to zero before entering loop
cout << "Enter grade, -1 to end: "; //get first value outside the loop
while((cin >> grade))
{
if(grade == -1)
break;
gradeSum += grade;
counter++;
cout << "Enter grade, -1 to end: ";
}//end while
//compute average and print results
average = gradeSum/counter;
cout << "\nClass average is: " << average << endl;
//see if user wants to continue
cout << "\nWould you like to calculate another average? [Y/N]: ";
cin >> choice;
}while(choice=='y' || choice=='Y');
return 0;
}
/********************Program Output***************************
Enter grade, -1 to end: 68
Enter grade, -1 to end: 93
Enter grade, -1 to end: 88
Enter grade, -1 to end: 74
Enter grade, -1 to end: 65
Enter grade, -1 to end: -1
Class average is: 77
Would you like to calculate another average? [Y/N]: y
Enter grade, -1 to end: 99
Enter grade, -1 to end: 94
Enter grade, -1 to end: 93
Enter grade, -1 to end: 78
Enter grade, -1 to end: 92
Enter grade, -1 to end: -1
Class average is: 91
Would you like to calculate another average? [Y/N]: n
*/