fork download
  1. //Amari Mosley CSC5 Chapter 7, P. 444, #2
  2. /***************************************************************
  3.  *
  4.  * RAINFALL STATISTICS
  5.  * ____________________________________________________________
  6.  * This program tracks the total rainfall for each of 12 months
  7.  * and displays total, average, highest, and lowest months.
  8.  *
  9.  * Computation is based on the formula:
  10.  * TotalRainfall += rainfall[]
  11.  * AverageRainfall = TotalRainfall / Num_months
  12.  * ___________________________________________________________
  13.  * INPUT
  14.  * rainfall: Monthly rainfall figures inputted by user
  15.  *
  16.  * OUTPUT
  17.  * TotalRainfall: Total rainfall for the year
  18.  * AverageRainfall: Average monthly rainfall
  19.  * HighestMonth: Month with highest rainfall
  20.  * LowestMonth: Month with lowest rainfall
  21.  *
  22.  **************************************************************/
  23. #include <iostream>
  24. #include <string>
  25. using namespace std;
  26.  
  27. int main() {
  28. const int NUM_MONTHS = 12;
  29. string MonthNames[NUM_MONTHS] = {
  30. "January", "February", "March", "April", "May", "June",
  31. "July", "August", "September", "October", "November", "December"
  32. };
  33. double rainfall[NUM_MONTHS];
  34. double TotalRainfall = 0.0;
  35. int HighIndex = 0;
  36. int LowIndex = 0;
  37.  
  38. cout << "Enter the total rainfall for each of the 12 months:\n";
  39.  
  40. for (int count = 0; count < NUM_MONTHS; count++) {
  41. do {
  42. cout << MonthNames[count] << ": ";
  43. cin >> rainfall[count];
  44.  
  45. if (rainfall[count] < 0) {
  46. cout << "Error: Rainfall cannot be negative. Please try again.\n";
  47. }
  48. } while (rainfall[count] < 0);
  49.  
  50. TotalRainfall += rainfall[count];
  51. }
  52.  
  53. for (int count = 1; count < NUM_MONTHS; count++) {
  54. if (rainfall[count] > rainfall[HighIndex]) {
  55. HighIndex = count;
  56. }
  57. if (rainfall[count] < rainfall[LowIndex]) {
  58. LowIndex = count;
  59. }
  60. }
  61.  
  62. double AverageRainfall = TotalRainfall / NUM_MONTHS;
  63.  
  64. cout << endl;
  65. cout << " \n RAINFALL STATISTICS REPORT \n ";
  66. cout << "Total Annual Rainfall: " << TotalRainfall << " inches \n ";
  67. cout << "Average Monthly Rainfall: " << AverageRainfall << " inches \n ";
  68. cout << "Highest Month: " << MonthNames[HighIndex] << " (" << rainfall[HighIndex] << " inches) \n ";
  69. cout << "Lowest Month: " << MonthNames[LowIndex] << " (" << rainfall[LowIndex] << " inches) \n ";
  70.  
  71. return 0;
  72. }
Success #stdin #stdout 0.01s 5324KB
stdin
3.2
-2.5
4.1
2.0
1.5
0.8
1.2
5.5
3.0
2.1
1.9
2.4
stdout
Enter the total rainfall for each of the 12 months:
January: February: Error: Rainfall cannot be negative. Please try again.
February: March: April: May: June: July: August: September: October: November: December: 
 
 RAINFALL STATISTICS REPORT 
 Total Annual Rainfall: 27.7 inches 
 Average Monthly Rainfall: 2.30833 inches 
 Highest Month: July (5.5 inches) 
 Lowest Month: December (0 inches)