1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
|
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
// Function prototypes
double testScore(int); // input validation for scores
double findHighest(int, int, int, int, int); // Find highest score of each star
double findLowest(int, int, int, int, int); // Find lowest score of each star
double calcAvgScore (double, double, double, double, double); // calculate the average score
int main()
{
double score1, score2, score3, score4, score5;
double highest, lowest;
double score, winnerScore;
string name, winnerName;
cout << "Welcome to The Talent Show!\n";
// Get star's name, terminate loop when done is entered
do
{
cout << "Enter the name of the star, enter Done if there are no stars\n";
cin >> name;
cout << endl;
if(name != "Done" && name !="done")
{
cout << "Enter judge 1 score: ";
cin >> score;
score1 = testScore(score);
cout << "Enter judge 2 score: ";
cin >> score;
score2 = testScore(score);
cout << "Enter judge 3 score: ";
cin >> score;
score3 = testScore(score);
cout << "Enter judge 4 score: ";
cin >> score;
score4 = testScore(score);
cout << "Enter judge 5 score: ";
cin >> score;
score5 = testScore(score);
// Output scores for validation
cout << "Score 1 " << score1 << endl;
cout << "Score 2 " << score2 << endl;
cout << "Score 3 " << score3 << endl;
cout << "Score 4 " << score4 << endl;
cout << "Score 5 " << score5 << endl;
}
} while (name != "Done" && name !="done");
// Call average score calculation function
double average = calcAvgScore(score1, score2, score3, score4, score5);
//Output winner with top average
cout << "...and the winner is " << name;
// set up numeric out put formatting
cout << fixed << showpoint << setprecision(2);
cout << " with a score of " << average << "!" << endl;
system("pause");
return 0;
}
//****************************************************************************
// Definition of the function testScore which is input validation for scores *
//****************************************************************************
double testScore(int score)
{
while (score<1 || score>10)
{
cout << "Please enter a valid score between 1 and 10: " ;
cin >> score;
}
return score;
}
//***********************************************************************
// Definition of the function findHighest which finds the highest score *
//***********************************************************************
double findHighest(int score1, int score2, int score3, int score4, int score5)
{
int highest=1;
if (score1>highest)
highest=score1;
else if (score2>highest)
highest=score2;
else if (score3>highest)
highest=score3;
else if (score4>highest)
highest=score4;
else if (score5>highest)
highest=score5;
return highest;
}
//***********************************************************************
// Definition of the function findLowest which finds the lowest score *
//***********************************************************************
double findLowest(int score1, int score2, int score3, int score4, int score5)
{
int lowest=10;
if (score1<lowest)
lowest=score1;
else if (score2<lowest)
lowest=score2;
else if (score3<lowest)
lowest=score3;
else if (score4<lowest)
lowest=score4;
else if (score5<lowest)
lowest=score5;
return lowest;
}
//***********************************************************************
// Definition of the function calcAvgScore which calculates the average *
//***********************************************************************
double calcAvgScore (double score1, double score2, double score3, double score4, double score5)
{
double sum = (score1 + score2 + score3 + score4 + score5) -(findHighest(score1, score2, score3, score4, score5) + findLowest(score1, score2, score3, score4, score5));
double average = (sum / 3.0);
return average;
}
|