почему при попытке ввести ФИО с пробелами выводит ошибку?

Для получения места в общежитии формируется список студентов, который включает ФИО студента, группу, средний балл, доход на члена семьи. Общежитие впервую очередь предоставляется тем, у кого доход на члена семьи меньше двух минимальных зарплат, затем остальным в порядке уменьшения среднего балла. Вывести список очередности предоставления мест в общежитии.

#include <iostream>
#include <string.h>

using namespace std;

int main() {
    setlocale(LC_ALL, "Russian");

    struct strc
    {
        char FIO[40];
        char grup[7];
        int doxod;
        int marks[4];
        double sr;

    }stud[100];

    int mindoxod = 200, number;

    cout << "Введите кол-во студентов: ";
    cin >> number;

    for (int i = 0; i < number; i++) {

        cout << "Введите ФИО: ";
        gets_s(stud[i].FIO);

        cout << "Введите номер группы: ";
        cin >> stud[i].grup;

        cout << "Введите доход на члена семьи: ";
        cin >> stud[i].doxod;

        cout << "Введите 4 оценки: ";
        stud[i].sr = 0;
        for (int j = 0; j < 4; j++)
        {
            cin >> stud[i].marks[j];
            stud[i].sr += stud[i].marks[j] / 4.;
        }

        cout << endl;
    }
    strc temp;

    for (int i = 0; i < number; i++)
    {
        if (stud[i].doxod < mindoxod * 2)
        {
            cout << stud[i].FIO << " " << stud[i].grup << " " << stud[i].doxod << " " << stud[i].sr;
            cout << endl;
        }
    }

    for (int i = 0; i < number; i++)
    {
        if (stud[i].doxod > mindoxod * 2)
        {
            if (stud[i].sr < stud[i + 1].sr)
            {
                temp = stud[i + 1]; 
                stud[i + 1] = stud[i];
                stud[i] = temp;
            }
        }
    }

    for (int i = 0; i < number; i++) {

        cout << stud[i].FIO << " " << stud[i].grup << " " << stud[i].doxod <<" " <<stud[i].sr;
        cout << endl;
    }

    return 0;
}

Условие: Для получения места в общежитии формируется список студентов, который включает ФИО студента, группу, средний балл, доход на члена семьи. Общежитие впервую очередь предоставляется тем, у кого доход на члена семьи меньше двух минимальных зарплат, затем остальным в порядке уменьшения среднего балла. Вывести список очередности предоставления мест в общежитии.


Ответы (0 шт):