wether statistic

Can any one help me to check my code?
Why it is not pulling the lowest temperature? But it can pull the highest temperature.

#include <iostream>
#include <iomanip>

using namespace std;
enum Months { JAN, FEB, MARCH}; // reduced month for debuging

// prototype function
void displayMonthName (Months);
double getHighTemp (double highTemp[], int month);
double getLowTemp (double lowTemp[], int month);

int main()
{
const int numMonths=3;
double rainfall [numMonths];
double highTemp [numMonths];
double lowTemp [numMonths];
double total = 0.0;
double average =0.0;
Months month;

// rainfall for each month
for (month=JAN; month<=MARCH; month=static_cast<Months> (month+1))
{
cout << "Enter the total rainfall for the month of ";
displayMonthName (month);
cout << ": ";
cin >> rainfall [month];
}

cout << "\n";
// high temperature for each month
for (month=JAN; month<=MARCH; month=static_cast<Months> (month+1))
{
cout << "Enter the highest temperature for the month of ";
displayMonthName (month);
cout << ": ";
cin >> highTemp [month];
}

// calculate the total rainfall
for (month=JAN; month<=MARCH; month=static_cast <Months> (month+1))
total+= rainfall[month];

// calculate the average rainfall
for (month=JAN; month<=MARCH; month=static_cast <Months> (month+1))
average= total / 3;

cout <<"\n";
// display the total rainfall
cout << "The total rainfall are " << setprecision (2)
<< fixed << total <<endl;


// display the average rainfall
cout << "The average rainfall are " << setprecision(2)
<< fixed << average << endl;

// display the highest temperature in the months
cout << "The highest temperature is " << getHighTemp(highTemp, month) << endl;

// display the highest temperature in the months
cout << "The lowest temperature is " << getLowTemp(lowTemp, month) << endl;
return 0;
}

void displayMonthName (Months m)
{
switch (m)
{
case JAN : cout << "Jan";
break;
case FEB : cout << "Feb";
break;
case MARCH : cout << "March";
}

}

// get the the highest temperature in the months
double getHighTemp (double highTemp[], int month)
{
double highest;
highest = highTemp[0];
for (month=JAN; month<=MARCH; month=static_cast <Months> (month+1))
{
if (highTemp [month] > highest)
highest = highTemp [month];
}
return highest;
}

double getLowTemp (double lowTemp[], int month)
{
double lowest;
lowest = lowTemp[0];
for (month=JAN; month<=MARCH; month=static_cast <Months> (month+1))
{
if (lowTemp [month] < lowest)
lowest = lowTemp [month];
}
return lowest;
}
Here are my test results, the lowest temperature is wrong.
I can not figure out why.

Enter the total rainfall for the month of Jan: 10
Enter the total rainfall for the month of Feb: 20
Enter the total rainfall for the month of March: 3

Enter the highest temperature for the month of Jan: 40
Enter the highest temperature for the month of Feb: 50
Enter the highest temperature for the month of March: 60

The total rainfall are 33.00
The average rainfall are 11.00
The highest temperature is 60.00
The lowest temperature is -92559631349317830000000000000000000000000000000000000
000000000.00
Press any key to continue . . .
Topic archived. No new replies allowed.