Максимальное и минимальное переполнение стека

когда я запускаю эту программу, появляется «стек проверки времени выполнения №2 вокруг переменной« numGrades »был поврежден». Также самая низкая оценка не дает правильный ответ. Любая помощь будет принята с благодарностью!

#include <iostream> // cin, cout

using namespace std;

const int TEN_GRADES = 10;   // pre-defined number of grades

int main()
{
int numGrades[10];
double avg, highest = numGrades[0], lowest = numGrades[0], less, greater, grades;
double sum = 0;

// greeting message
cout << "---------------------------------" << endl
<< "  Sandro's Statistics Generator  " << endl
<< "---------------------------------" << endl << endl;

// requesting number of grades
cout << "Hello Professor, how many grades do I need to analyse this time? ";
cin >> numGrades[10];

if (numGrades[1] == 0)
{
cout << "\nGuess you changed your mind!!!" << endl
<< "Ending program now..." << endl << endl;
return 0;
}

// if user doesn't enter 0 user is ready to begin
cout << "Okay, I am ready. Start..." << endl;
for (int count = 0; count < numGrades[10]; count++)
{
cin >> numGrades[count];
sum += numGrades[10];
}

// to get the average
avg = sum / TEN_GRADES;

// to get the highest and lowest mark

for (int count = 0; count < TEN_GRADES; count++)
{
if (numGrades[count] > highest)
highest = numGrades[count];
}

for (int count = 0; count < TEN_GRADES; count++)
{
if (numGrades[count] < lowest)
lowest = numGrades[count];
}

// output requested statistics
cout << "Here are the requested stats for the " << numGrades << " grades."     << endl
<< "The class average is " << avg << endl
<< "The highest grade is " << highest << endl
<< "The lowest grade is " << lowest << endl;

return 0;

}

-3

Решение

О боже, я даже не делаю с ++, но я думаю, что один из моих глаз немного кровоточил.

Пожалуйста, просмотрите (или скажите, кто бы это ни написал), как создавать и присваивать им значения.

Затем просмотрите простые структуры данных (например, массивы) и циклы.

Хороший способ начать — проанализировать следующее РАБОЧИЙ код вашей программы:

Пожалуйста, отметьте как правильный, если это помогает, и если у вас есть какие-либо вопросы … Ура!

#include <iostream>
#include <string>

using namespace std;

const int TEN_GRADES = 10;   // pre-defined number of grades

int main()
{
int numGrades[10];
double avg, highest = 0, lowest = 0, less, greater, grades;
double sum = 0;

// greeting message
cout << "---------------------------------" << endl
<< "  Newbie Statistics Generator  " << endl
<< "---------------------------------" << endl << endl;

// requesting number of grades
cout << "Hello Professor, please enter 10 grades: "<<endl;

//THIS PART: loops ten times to input the grades
for (int count = 0; count < TEN_GRADES; count ++)
{
cout << "Grade number "<<count<<":";
cin >> numGrades[count];

}

//I get what you want to do here, but consider adding another exit condition here, what if the second grade is really 0 ?
if (numGrades[1] == 0)
{
cout << "\nGuess you changed your mind!!!" << endl
<< "Ending program now..." << endl << endl;
return 0;
}

// if user doesn't enter 0 user is ready to begin
cout << "Okay, I am ready. Start..." << endl;
for (int count = 0; count < TEN_GRADES; count++)
{
sum += numGrades[count];
}

// to get the average
avg = sum / TEN_GRADES;

// to get the highest and lowest mark
for (int count = 0; count < TEN_GRADES; count++)
{
if (numGrades[count] > highest)
highest = numGrades[count];
}

for (int count = 0; count < TEN_GRADES; count++)
{
if (numGrades[count] < lowest)
lowest = numGrades[count];
}
// output requested statistics
cout << "Here are the requested stats for the " << TEN_GRADES << " grades."     << endl
<< "The class average is " << avg << endl
<< "The highest grade is " << highest << endl
<< "The lowest grade is " << lowest << endl;

return 0;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]