Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Write a complete C++ program that inputs rainfall data collected at Chicago Midway airport, and outputs the average rainfall for each year. The format of

Write a complete C++ program that inputs rainfall data collected at Chicago Midway airport, and outputs the average rainfall for each year. The format of the input data is as follows. There are N>0 lines, each containing 13 values: a year followed by 12 real numbers denoting the amount of rainfall for the 12 months of January, February, March, ..., December. The last line of the input consists of a single value -1. Here's one possible input sequence:

2011 0.71 3.46 2.32 5.73 5.32 7.41 5.44 3.94 3.89 2.24 3.65 2.51 2012 2.16 1.39 2.17 2.63 4.32 1.07 3.78 6.06 1.61 3.21 1.04 2.09 2013 3.18 2.57 2.22 7.95 6.47 3.12 2.19 2.52 1.93 5.69 2.94 1.54 -1 

For this input, your program should produce the following output, which is the average rainfall for each year:

2011: 3.885 2012: 2.6275 2013: 3.52667 

Like the previous exercise, the provided code is actually spread across 2 C++ source files: "main.cpp" and "analysis.cpp". Start by reviewing the code for "main.cpp" which is visible in the editor pane --- note that this code is read-only (you cannot modify it). In particular, focus on the code within the while loop. Once the year is input, you'll see that the InputYearOfDataAndReturnAverage() function is called to input the remaining 12 values on that line, then compute and return the average. The average is stored, output, and then the next year is input and the process repeated --- until -1 is input.

Now let's review the code for the user-defined function. Above the editor pane you'll see the text "Current file: main.cpp", with a little drop-down arrow to the right. Click the drop-down and select "analysis.cpp". Then, immediately click the link "Load default template..." --- this avoids a bug that appears in some web browsers (which fail to properly load the file). You only need to do this once, the first time you view the file.

The editor pane should now be displaying the code for the user-defined function InputYearOfDataAndReturnAverage. Your job is to modify the body of this function so that it inputs exactly 12 real numbers and returns the average as a real number. Note that we are breaking the rule of "functions do not input nor output" --- in this case your function should use cin to input the necessary rainfall values for the current year. However, your function should not use cout, but must instead return the average. When the function is correctly implemented, you will pass all 3 test cases.

For this exercise, I recommend working in Submit mode; if you start in Develop mode, you will get an error about "too much generated output" until the function is correctly implemented.image text in transcribedimage text in transcribed

Current file.main.cpp File is marked as read only 1 /*main.cpp*/ 3 #includeostream 4 #include 6 using namespace std; 9 // declarations of user-defined functions: 11 double InputYearOfDataAndReturnAverage(); 12 13 14 int main() 15 16 int 17 18 19 cin year; 28 year; double avg; 21 I 22 1 process each year of data and output the average: 23 / 24 while (year- -1) 25 26 27 28 29 30 31 32 avg = InputYearOfDataAndReturnAverage(); cin >> year; return e; 34 35

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

The Structure Of The Relational Database Model

Authors: Jan Paredaens ,Paul De Bra ,Marc Gyssens ,Dirk Van Gucht

1st Edition

3642699588, 978-3642699580

More Books

Students also viewed these Databases questions