I am in dire need of help. I need this array to list the months as the user enters rainfall totals. then I need it to calculate the highest , lowest , average and total rainfall months. I can get it to do it without the months but not with the months. It also cannot accept negative numbers. can anyone help me.

//This program lets the user enter the total rainfall for each of the 12 months 
//into an array  of doubles . the program should calculate and display the total 
//rainfall for the year , the average monthly rainfall , and  
//the months with the highest and lowest amounts
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;

// Function prototypes
void getTestScores(double[], int);
double getTotal(const double[], int);
double getLowest(const double[], int);
double gethighest(const double[], int);
int ValidateInput(string Message);
int main()
{

   const int SIZE  = 12;      // Array size
   double testScores[SIZE], // Array of test scores

    string months[SIZE]={"JANUARY","FEBUARY","MARCH",
                         "APRIL","MAY","JUNE","JULY",
                         "AUGUST","SEPTEMBER","OCTOBER",
                         "NOVEMBER","DECEMBER",};//Array to hold months
          total,            // Total of the scores
          lowestScore,      // Lowest test score
          highestscore,      // highest score
          average;          // Average test score

   // Set up numeric output formatting.
   cout << fixed << showpoint << setprecision(1);

   // Get the test scores from the user.
   getTestScores(testScores, SIZE);

   // Get the total of the test scores.
   total = getTotal(testScores, SIZE);

   // Get the lowest test score.
   lowestScore = getLowest(testScores, SIZE);

   //get the highest score
   highestscore = gethighest(testScores, SIZE);



   // Calculate the average.
   //  the array starts at zero.
   average = total / (SIZE );

   // Display the average.
   cout << "The month with the lowest average rainfall "
       << "dropped is " << lowestScore<<"\n"
       <<"The highest months rainfall total is\t\n"
       << highestscore<<"\n"<<"The average rainfall is\t\n"
       <<average<<"\n"<<"The Total rainfall\n"<< total<<"\n";

system("PAUSE");
   return 0;
}

//************************************************************
// The getTestScores function accepts an array and its size  *
// as arguments. It prompts the user to enter test scores,   *
// which are stored in the array.                            *
//************************************************************

void getTestScores(double scores[], int size)
{
   // Loop counter
   int index;

   // Get each test score.
   for(index = 0; index <= size - 1; index++)
   {
      cout << "Enter Rainfall for month " 
           << (index +1) << ": ";
      cin >> scores[index];
   }
}

//****************************************************
// The getTotal function accepts a double array      *
// and its size as arguments. The sum of the array's *
// elements is returned as a double.                 *
//****************************************************

double getTotal(const double array[], int size)
{
   double total = 0; // Accumulator

   // Add each element to total.
   for (int count = 0; count < size; count++)
      total += array[count];

   // Return the total.
   return total;
}

//****************************************************
// The getLowest function accepts a double array and *
// its size as arguments. The lowest value in the    *
// array is returned as a double.                    *
//****************************************************

double getLowest(const double array[], int size)
{
   double lowest;  // To hold the lowest value

   // Get the first array's first element.
   lowest = array[0];

   // Step through the rest of the array. When a
   // value less than lowest is found, assign it
   // to lowest.
   for (int count = 1; count < size; count++)
   {
      if (array[count] < lowest)
         lowest = array[count];
   }

   // Return the lowest value.
   return lowest;
}

//****************************************************
// The gethighest function accepts a double array and *
// its size as arguments. The lowest value in the    *
// array is returned as a double.                    *
//****************************************************

double gethighest(const double array[], int size)
{
   double highest;  // To hold the highest value

   // Get the first array's first element.
   highest = array[0];

   // Step through the rest of the array. When a
   // value less than lhighest is found, assign it
   // to highest.
   for (int count = 1; count < size; count++)
   {
      if (array[count] > highest)
         highest = array[count];
   }

   // Return the highest value.
   return highest;
}

int ValidateInput(string Message)
                 {
     bool valid = false;
        int scores =1;
cout << Message.c_str() <<endl;
             while(!valid)
       {
  cout << "Input cannot be less than 1:";
  cin >> scores;
  if (scores >= 1)
    valid = true;
        }
   return scores;
          }

If you are going to plagerize someone else's program then at least change the function names so that people will think you write it for your homework assignment.

there is a program like this please could you link it so I can see the example , I pulled these from examples from my book, as per my instructions. I am looking for a good example .I do intend to fully rewrite this as it is a work in progress. I just am not interested in doing like most of my class is doing and searching online for a program coping pasting . I need help on a few sections of this program that I pulled from the book as , I was told to do. once I figure out how to code it I will do so. just needed to know how to get the string array to work with the double testscores [SIZE ]array and getting the if statement to work correctly is all.
thanks for the reply

If you know the index number for testscores[] then just use the same number for the string array. For example consider this code snippet

int highest = GetHightest(...); // where ... are the parameters

cout << "Highest is " << testscores[highest];
cout << "month is " << months[highest];
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.