Source of rounded_average.cpp


  1: //rounded_average.cpp
  2: //Computes the (rounded) average of all integers on each of several
  3: //input lines. Illustrates nested loops, and C-style casts.

  5: #include <iostream>
  6: using namespace std;

  8: int main()
  9: {
 10:     cout << "\nThis program computes the rounded average of all integer "
 11:         "values on each\nof a number of input lines. Each line of "
 12:         "integers to be averaged must be\nterminated by the value "
 13:         "-9999.\n\n";
 14:     cout << "Press Enter to continue ... ";  cin.ignore(80, '\n');

 16:     int numberOfLines;
 17:     int value;
 18:     int sum;
 19:     int count;
 20:     int average;

 22:     cout << "\nEnter number of input lines, or your end-of-file "
 23:         "character to quit: ";
 24:     cin >> numberOfLines;  cin.ignore(80, '\n');

 26:     while (cin)
 27:     {
 28:         for (int lineNumber=1; lineNumber<=numberOfLines; lineNumber++)
 29:         {
 30:             cout << "\nEnter integer values for line number "
 31:                  << lineNumber << " below (end with -9999):\n";
 32:             sum = 0;
 33:             count = 0;
 34:             cin >> value;
 35:             while (value != -9999)
 36:             {
 37:                 sum = sum + value;
 38:                 count++;
 39:                 cin >> value;
 40:             }
 41:             average = int(double(sum) / count + 0.5);
 42:             cout << "The rounded average of the values "
 43:                  << "on line number " << lineNumber
 44:                  << " is " << average << ".\n";
 45:         }
 46:         cout << "\n\nEnter number of input lines, or end-of-file "
 47:             "character to quit: ";
 48:         cin >> numberOfLines;  cin.ignore(80, '\n');
 49:     }
 50:     cout << endl;
 51: }