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