Я установил размер моего массива на 20 (я установил на 19, считая, что он считается 0). Я настроил цикл for на выполнение только до тех пор, пока gradeCount <= GradeCounts все же будет работать независимо от того, сколько раз я буду вводить данные. Если я введу 3 оценки без нажатия клавиши ввода между каждой из них, например, «23 23 23», будет возвращаться «Ввести оценку» 3 раза подряд, скорее, для такого количества оценок, как я вхожу, разделенных пробелами. Я не понимаю, почему он не передает данные в массив и правильно завершает цикл for. Я уверен, что мой код - ужасный беспорядок, извините. </p>
Кроме того, при вводе кода в stackoverflow, он сказал сделать отступ для кода 4 пробела для форматирования? Сначала я не мог сделать отступ с помощью кнопки кода, и кнопки {} тоже не было. Что мне не хватает? Только после уведомления я смог это исправить. Спасибо за ваше время, я не хочу быть парнем в заднице, ребята.
//This program asks user how many grades there are, inputs grades, and displays median of said grades.
#include <iostream>
using namespace std;
//Variables
////////////////////const int limitGrades = 20; //Array "boxes"? //Ignore this //for now.
int gradeCounted; //Number of grades from user.
const int SIZE = 19;
//Array
float grades[19]; //Max grades that can be entered.
//Functions
void gradeTaker()
{
cout << "You may input up to 20 grades. \n";
cout << "First enter the number of grades you have: \n";
cin >> gradeCounted;
//requests how many grades there are and stores them in array
for (int gradeCount = 0; gradeCount <= gradeCounted + 1; gradeCount++)
{
for (float &grade : grades)
{
cout << "Enter grade: \n";
cin >> grade;
}
}
};
int main()
{
gradeTaker();
cout << "grades so far";
for (int grade : grades)
cout << grade << endl;
system("pause");
}