Пользовательский ввод в массив. Меня смущает вывод - PullRequest
0 голосов
/ 16 апреля 2019

Большинство компонентов для массива на месте.Однако мне интересно, какой код отсутствует для вывода, чтобы соответствовать тому, что я пытаюсь сделать.

Я попытался найти аналогичное кодирование массива.Я хотел бы вызвать функцию и для пользователя, чтобы ввести числа до 20 различных входов.

 #define size 20

 using namespace std;


 int i;

 void Input(int student[]) {
     for(int i = 0; i < size; i++)
         cout << "Enter The Marks of Subject 2 of student no " << i + 1 << " ";
     cin >> student[i];
}

void display(int student[]) {
    for(int i = 0; i < size; i++)
        cout << student[i];
}

int main() {
    int student[size];
    Input(student );
    display(student);

    return 0;

1 Ответ

2 голосов
/ 16 апреля 2019

В вашей функции Input:

void Input(int student[]) {
     for(int i = 0; i < size; i++)
         cout << "Enter The Marks of Subject 2 of student no " << i + 1 << " ";
     cin >> student[i];
}

Вы не используете скобки, поэтому cin >> student[i]; находится за пределами цикла.i из цикла for больше не находится в области видимости, поэтому вы используете i здесь:

int i;

, которому никогда не присваивается значение, что приводит к неопределенному поведению.Добавить скобки:

void Input(int student[]) {
     for(int i = 0; i < size; i++) {
         cout << "Enter The Marks of Subject 2 of student no " << i + 1 << " ";
         cin >> student[i];
     }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...