ok. im pretty much done with this small program my teacher asked us to write.
my problem is:
it wont give me how many scores there are above average.
it keeps giving me 0. i dont get it.
maybe im overlooking something?
i think something is wrong in my // count#of scores > average area. if someone can take a look at it and kinda point it out to me, itd be awesome. thank u!
#include <iostream>
using namespace std;
struct Score
{
int value;
Score* next;
};
int main()
{
// create an empty linked list
Score* head = 0;
// prompt for how many students
int nScores;
cout << "How many scores would you like to view? ";
cin >> nScores;
cin.ignore(1000, 10);
cout << " " << endl;
for (int count = 0; count < nScores; count++)
{
//create a node
Score* aScore = new Score;
cout << "Enter score [-1 to quit]: ";
cin >> aScore->value;
cin.ignore(1000, 10);
// check for sentinel value
if (aScore->value == -1) break;
// add node to list (stack model)
aScore->next = head;
head = aScore;
}
// traverse list
int sum = 0;
int count = 0;
Score* p;
for (p = head; p; p = p->next)
{
sum += p->value;
count++;
}
// print results
if (count > 0)
{
float average = float(sum) / count;
cout << "The average of " << count << " scores is " << average << endl;
}
else
cout << "No values were entered." << endl;
// count#of scores > average
int nGreater = 0;
float average;
for (count = 0; count > 0; count++)
{
if (nScores > average) nGreater++;
}
cout << nGreater << " scores are greater than average." << endl;
cin.ignore();
cin.get();
return 0;
}