Mar 24, 2017 at 7:38pm UTC
For some reason My program is not accepting 10 as a valid number and I dont know why any tips or ideas.
#include <iostream>
#include <iomanip>
#include <cctype>
#include <limits>
#include <string>
using namespace std;
void getJudgeData(string jname, double &score);
double getAverage(double score1, double score2, double score3, double score4, double score5);
double getLowest(double score1, double score2, double score3, double score4, double score5);
double getHighest(double score1, double score2, double score3, double score4, double score5);
int main()
{
double score1, score2, score3, score4, score5, average_sc, lowest_sc, highest_sc;
cout << fixed;
cout << setprecision(2) << endl;
getJudgeData("Judge 1", score1);
getJudgeData("Judge 2", score2);
getJudgeData("Judge 3", score3);
getJudgeData("Judge 4", score4);
getJudgeData("Judge 5", score5);
average_sc = getAverage( score1, score2, score3, score4, score5);
lowest_sc = getLowest( score1, score2, score3, score4, score5);
highest_sc = getHighest( score1, score2, score3, score4, score5);
cout << "score 1" << '\t' << "score 2" << '\t' << "score 3" << '\t' << "score 4" << '\t' << "score 5\n";
cout << score1 << '\t' << score2 << '\t' << score3 << '\t' << score4 << '\t' << score5 << endl;
cout << "lowest score = " << lowest_sc << endl;
cout << "highest score = " << highest_sc << endl;
cout << "average score = " << average_sc << endl;
system("pause");
return 0;
}
void getJudgeData(string jname , double &score)
{
do
{
cout << "enter " << jname << " score (must be greater then 0 and less or equal to 10 and numeric)\n";
cin >> score;
if (cin.fail())
{
cout << "Your input must be numeric try again\n";
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
score = -1000;
}
else if (score <= 0 || score >= 10)
{
cout << "The score must be greater then 0 and less or equal to 10 \n";
score = 1000;
}
} while (score <= 0 || score >= 10);
}
double getLowest(double score1, double score2, double score3, double score4, double score5) {
double lowest_score;
if ((score1 <= score2) && (score1 <= score3) && (score1 <= score4) && (score1 <= score5))
{
lowest_score = score1;
}
else if ((score2 <= score1) && (score2 <= score3) && (score2 <= score4) && (score2 <= score5))
{
lowest_score = score2;
}
else if ((score3 <= score1) && (score3 <= score2) && (score3 <= score4) && (score3 <= score5))
{
lowest_score = score3;
}
else if ((score4 <= score1) && (score4 <= score2) && (score4 <= score3) && (score4 <= score5))
{
lowest_score = score4;
}
else if ((score5 <= score1) && (score5 <= score2) && (score5 <= score3) && (score5 <= score4))
{
lowest_score = score5;
}
return lowest_score;
}
double getHighest(double score1, double score2, double score3, double score4, double score5) {
double highestScore;
if ((score1 >= score2) && (score1 >= score3) && (score1 >= score4) && (score1 >= score5))
{
highestScore = score1;
}
else if ((score2 >= score1) && (score2 >= score3) && (score2 >= score4) && (score2 >= score5))
{
highestScore = score2;
}
else if ((score3 >= score1) && (score3 >= score2) && (score3 >= score4) && (score3 >= score5))
{
highestScore = score3;
}
else if ((score4 >= score1) && (score4 >= score2) && (score4 >= score3) && (score4 >= score5))
{
highestScore = score4;
}
else if ((score5 >= score1) && (score5 >= score2) && (score5 >= score3) && (score5 >= score4))
{
highestScore = score5;
}
return highestScore;
}
double getAverage(double score1, double score2, double score3, double score4, double score5) {
double average_score, lowestScore, highestScore;
highestScore = getHighest(score1, score2, score3, score4, score5);
lowestScore = getLowest(score1, score2, score3, score4, score5);
return average_score = (((score1 + score2 + score3 + score4 + score5) - (lowestScore + highestScore)) / 3);
}