Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

A particular talent competition has 5 judges, each of whom awards a score betwee

ID: 3814195 • Letter: A

Question

A particular talent competition has 5 judges, each of whom awards a score between

0 and 10 to each performer. Fractional scores, such as 8.3, are allowed. A

performer’s final score is determined by dropping the highest and lowest score

received, then averaging the 3 remaining scores. Write a program that uses these

rules to calculate and display a contestant’s score. It should include the

following functions:

               • void getJudgeData() should ask the user for a judge’s score, store it in a

               reference parameter variable, and validate it. This function should be

               called by main once for each of the 5 judges.

               • double calcScore() should calculate and return the average of the 3 scores

               that remain after dropping the highest and lowest scores the performer

                 received. This function should be called just once by main, and should be

               passed the 5 scores.

The last two functions, described below, should be called by calcScore, which uses

the returned information to determine which of the scores to drop.

               • int findLowest() should find and return the lowest of the 5 scores passed to

               it.

               • int findHighest() should find and return the highest of the 5 scores passed

               to it.

              

               Input Validation: Do not accept judge scores lower than 0 or higher than 10.

Implement the functions exactly as specified, other than correction of the following error:

findLowest and findHighest should have return type double, not int.

Explanation / Answer


void getJudgeData(double& data){
   cin>>data;
   while (data<0 || data>10) { //if data is invalide ask to re-enter data
       cout<<"Invalid Re-enter: ";
       cin>>data; //read data
   }
}

int findLowest(double a, double b, double c, double d, double e) { //find the lowest value
   double lowest;
   if (a<b) //first compare a with b
       lowest = a; //assign lowest with a value which ever is lowest between a and b
    else
        lowest = b;
   if (c<lowest) //and then keep comparing lowest with remaining c, d and e
       lowest = c;
   if (d<lowest)
       lowest = d;
   if (e<lowest)
       lowest = e;

   return lowest;
}

int findHighest(double a, double b, double c, double d, double e) { //have similar logic as findLowest function
   double highest;
   if (a>b)
       highest = a;
    else
         highest = b;
   if (c>highest)
       highest = c;
   if (d>highest)
       highest = d;
   if (e>highest)
       highest = e;

   return highest;
}


double calcScore(double a, double b, double c, double d, double e) {
    double lowest;
   if (a<b)
       lowest = a;
    else
        lowest = b;
   if (c<lowest)
       lowest = c;
   if (d<lowest)
       lowest = d;
   if (e<lowest)
       lowest = e;
  

   double highest;
   if (a>b)
       highest = a;
    else
        highest = b;
   if (c>highest)
       highest = c;
   if (d>highest)
       highest = d;
   if (e>highest)
       highest = e;   
   double sum = a + b + c + d + e - highest - lowest; //add all then substract highest and lowest values
   double avg = sum/3; //calculate avg
   return avg;
}

I have kept the solution as simple as possible to make your life easy. I have also commented the code for easy understanding. If you have any trouble understanding the code, feel free to comment below. I shall be glad to help you.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote