Posted by: prankster October 27, 2014
Assistance with debugging C++ Program
Login in to Rate this Post:     0       ?        
Tested following modified code in http://www.compileonline.com/compile_cpp_online.php

#include
#include
#include
using namespace std;

/* This program computes the score for a dive based on the degree of difficulty
* and five judges scores. The high and low scores are dropped.
*/

/* Function prototypes */
void inputScores(double scores[]);
double addAllScores(double scores[]);
double findLowScore(double scores[]);
double findHighScore(double scores[]);

int main ()
{
double difficulty, sum, lowScore, highScore, score;
double judgeScores[5];

cout << "Please enter the degree of difficulty: ";
cin >> difficulty;

inputScores(judgeScores);

sum = addAllScores(judgeScores);

lowScore = findLowScore(judgeScores);

highScore = findHighScore(judgeScores);

/* subtract out the low and high scores */
sum = sum - lowScore - highScore;

/* multiply by degree of difficulty */
score = sum * difficulty;

cout << "The score for the dive is: " << fixed << setprecision(2) << score << endl;
//system("pause");
}

//****************************************************************
// This function gets the judges scores
//***************************************************************

void inputScores(double scores[])
{
for(int i = 1; i < 5; i++)
{
scores[i] = i;
//cout << "Please enter the score from Judge #" << i + 1 << ": ";
//cin >> scores[i];
}
}

//****************************************************************
//This function determines the sum of the scores input.
//****************************************************************

double addAllScores(double scores[])
{
double total;

//determine lowest score
for (int count = 0; count < 5; count++)
{
total += scores[count];
}
return total;
}

//****************************************************************
//This function determines the lowest score input.
//****************************************************************

double findLowScore(double scores[])
{
double lowest = 99999.0;

//determine lowest score
for (int count = 0; count <= 5; count++)
{
if (lowest > scores[count])
lowest = scores[count];
}
return lowest;
}

//****************************************************************
//This function determines the highest score input.
//****************************************************************

double findHighScore(double scores[])
{
double highest = -1;

//determine lowest score.
for (int count = 0; count < 5; count++)
{
if (highest < scores[count])
highest = scores[count];
}
return highest;
}


Inputs and rest of the debug
Difficulty = 6
Scores[0] = 0
scores[1] = 1
.
.
scores[4] = 4

highest = 4,
lowest = 0,
total = 1+2+3+4 = 10
sum = total - highest - lowest = 10 - 4 - 0 = 6
score =sum * difficult = 6 * 6 = 36
Read Full Discussion Thread for this article