1. // average1G.cpp
 2. //
 3. // Averages a sequence of integers entered interactively,
 4. // asking user to indicate in advance the number of 
 5. // numbers to be averaged.
 6. //
 7. // Demonstrates count-controlled _while_ loop.
 8. // Demonstrates increment and assignment operators.
 9. // Demonstrates use of a variable local to a loop.
10. //
11. // Prevents division by zero.
12. // But still crashes if the user enters a non-number.
13. 
14. #include <iostream>
15. 
16. using namespace std;
17. 
18. int main()
19. {
20.    // Announce purpose of program, and explain how to use it:
21.    cout << "This program averages a sequence of integers";
22.    cout << " entered interactively." << endl;
23. 
24.    // Determine how many numbers will be averaged:
25.    cout << "How many numbers do you want to average?> ";
26.    int numberOfNumbers;
27.    cin >> numberOfNumbers;
28. 
29.    // Prevent division by zero:
30.    if ( numberOfNumbers <= 0 )  {
31.       cout << "The number of numbers, " << numberOfNumbers
32.              << ", is invalid.  Must be > 0." << endl;
33.       return 1;
34.    }  // if
35. 
36.    // Calculate cumulative sum of numbers entered:
37. 
38.    int sum = 0;        // cumulative sum
39.    int count = 0;      // count of numbers entered
40. 
41.    cout << "Enter the numbers:> ";
42. 
43.    while ( count < numberOfNumbers )
44.    {
45.       // Read current input number:
46.       int number;
47.       cin >> number;
48. 
49.       // Add number to cumulative sum:
50.       sum += number;
51. 
52.       // Count loop iterations:
53.       count++;
54.    }  // while
55. 
56.    // Compute the average:
57.    float average = (float) sum / numberOfNumbers;
58. 
59.    // Output the result:
60.    cout << "The average is " << average << "." << endl;
61. 
62.    return 0;
63. }  // function main