C++ Code. I messed up some where in the code. I need it tell me how many people
ID: 3685232 • Letter: C
Question
C++ Code. I messed up some where in the code. I need it tell me how many people got the highest grade and also the lowest grade. Example: (# of people with the highest grade- 3) I can't seem to get it to count the maxcount and mincount corretly though.
#include< iostream >
using std::cin; using std::cout; using std::endl;
int main()
{
int value, sum, array[100];
float average;
int count, i, less70 = 0, maxcount = 0, mincount = 0, minimum=0, maximum=0;
i = 0;
// initialise
sum = 0;
count = 0;
cout << "Enter a value: ";
cin >> value;
while (value >= 0)
{
// process value
sum += value;
count++;
if (value>0)
{
array[i] = value;
i++;
}
if (value < 70)
{
less70++;
}
if (value > maximum)
{
maximum = value;
}
if (value < maximum)
{
maximum = value;
}
if (value == maximum)
{
maxcount++;
}
if (value == minimum)
{
mincount++;
}
// get next value
cout << "Enter a value: ";
cin >> value;
}
if (count == 0)
cout << "No data entry" << endl;
else
{
average = sum / count;
minimum = maximum = array[0];
for (int j = 1; j<i; j++){
if (array[j] > maximum)
maximum = array[j];
else if (array[j] < minimum)
minimum = array[j];
}
cout << "Average is " << average << endl;
cout << "Lowest Grade is " << minimum << endl;
cout << "Highest Grade is " << maximum << endl;
cout << "# less than 70 is " << less70 << endl;
cout << "# of Highest Grade is " << maxcount << endl;
cout << "# of lowest Grade is " << mincount << endl;
}
return 0;
}
Explanation / Answer
Here how you are calculating the mincount, maxcount depending on which range?
#include< iostream >
using std::cin; using std::cout; using std::endl;
int main()
{
int value, sum, array[100];
float average;
int count, i, less70 = 0, maxcount = 0, mincount = 0, minimum=0, maximum=0;
i = 0;
// initialise
sum = 0;
count = 0;
cout << "Enter a value: ";
cin >> value;
while (value >= 0)
{
// process value
sum += value;
count++;
if (value>0)
{
array[i] = value;
i++;
}
if (value < 70)
{
less70++;
}
/*if (value > maximum)
{
maximum = value;
}
if (value == maximum)
{
maxcount++;
}
*/
/*this condition always will not be occured, since minimum always hold zero value
if (value < minimum) this condition always will not be occured
{
minimum = value;
}
if (value == minimum)
{
mincount++;
}
*/
// get next value
cout << "Enter a value: ";
cin >> value;
}
if (count == 0)
cout << "No data entry" << endl;
else
{
average = sum / count;
minimum = maximum = array[0];
for (int j = 1; j<i; j++){
if (array[j] > maximum)
{
maximum = array[j];
maxcount++; // you should mention a range otherwise it compare consecutive numbers
}
else if (array[j] < minimum)
{
minimum = array[j];
mincount++; // you should mention a range otherwise it compare consecutive number
}
}
cout << "Average is " << average << endl;
cout << "Lowest Grade is " << minimum << endl;
cout << "Highest Grade is " << maximum << endl;
cout << "# less than 70 is " << less70 << endl;
cout << "# of Highest Grade is " << maxcount << endl;
cout << "# of lowest Grade is " << mincount << endl;
}
return 0;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.