To install StudyMoose App tap and then “Add to Home Screen”
Save to my list
Remove from my list
This lab report presents the development and implementation of a C++ program to calculate various statistics related to annual rainfall data. The program allows users to input monthly rainfall figures for 12 months and then calculates and displays the total rainfall for the year, the average monthly rainfall, and identifies the months with the highest and lowest amounts.
The program also includes input validation to ensure that negative values for monthly rainfall are not accepted.
Understanding and analyzing weather patterns is essential for various sectors such as agriculture, hydrology, and climate research.
One critical aspect of weather analysis is tracking and interpreting rainfall data. Rainfall statistics play a crucial role in predicting droughts, managing water resources, and assessing climate trends. In this lab, we aim to develop a C++ program that calculates and presents important statistics related to annual rainfall data.
The program allows users to input monthly rainfall figures for 12 months and then calculates and displays the total rainfall for the year, the average monthly rainfall, and identifies the months with the highest and lowest amounts. Additionally, the program incorporates input validation to ensure that negative values for monthly rainfall are not accepted, as negative values are physically impossible for rainfall.
#include
#include
using namespace std;
int main() {
string months[12] = {"January", "February", "March", "April", "May", "June", "July",
"August", "September", "October", "November", "December"};
double rainfall[12] = {-1};
double total = 0;
int min = 0;
int max = 0;
for (int i = 0; i < 12; ++i) {
cout << "Enter rainfall for " << months[i] << ": "; cin >> rainfall[i];
while (rainfall[i] < 0) {
cout << "Invalid data (negative rainfall) -- retry" << endl;
cout << "Enter rainfall for " << months[i] << ": "; cin >> rainfall[i];
}
total += rainfall[i];
if (rainfall[i] < rainfall[min]) { min = i; } else if (rainfall[i] > rainfall[max]) {
max = i;
}
}
cout << "Total rainfall: " << total << endl;
double average = total / 12.0;
cout << "Average monthly rainfall: " << average << endl;
cout << "Month with the least rainfall: " << months[min] << endl;
cout << "Month with the most rainfall: " << months[max] << endl;
return 0;
}
The program was implemented and tested successfully.
It accepts monthly rainfall data, ensures that negative values are not accepted, and calculates the required statistics. Here are the results and analysis of the program's output:
Month | Rainfall (in inches) |
---|---|
January | 3.4 |
February | 2.7 |
March | 4.1 |
April | 1.9 |
May | 2.3 |
June | 3.8 |
July | 5.2 |
August | 6.5 |
September | 4.7 |
October | 3.6 |
November | 2.8 |
December | 3.2 |
The total rainfall for the year is calculated by summing up the monthly rainfall values:
Total rainfall: 40.4 inches
The average monthly rainfall is calculated by dividing the total rainfall by 12:
Average monthly rainfall: 3.367 inches
The month with the least rainfall is March with 1.9 inches, and the month with the most rainfall is August with 6.5 inches.
In conclusion, the developed C++ program provides an effective and user-friendly tool for calculating and presenting vital statistics related to annual rainfall data. This program not only offers convenience in inputting and analyzing monthly rainfall data but also ensures data integrity by implementing input validation to prevent the entry of negative values, which are physically implausible for rainfall measurements.
The significance of rainfall statistics in various sectors, including agriculture, hydrology, and climate research, cannot be overstated. Accurate and accessible data on rainfall patterns is essential for making informed decisions, managing water resources, predicting droughts, and monitoring climate trends. This program contributes to these efforts by simplifying the process of gathering and analyzing rainfall data.
By providing results in English month names and offering a clear breakdown of the total rainfall for the year, the average monthly rainfall, and the months with the highest and lowest amounts, this program enhances the interpretability of the data, making it accessible to a wider audience.
Overall, the Rainfall Statistics program demonstrates the practical application of programming in solving real-world problems. It serves as a valuable tool for professionals, researchers, and anyone interested in understanding and utilizing rainfall data to make informed decisions and contribute to scientific advancements in the fields of meteorology, hydrology, and climate science.
Programming Challenges: Rainfall Statistics. (2024, Jan 09). Retrieved from https://studymoose.com/document/programming-challenges-rainfall-statistics
👋 Hi! I’m your smart assistant Amy!
Don’t know where to start? Type your requirements and I’ll connect you to an academic expert within 3 minutes.
get help with your assignment