почему при попытке ввести ФИО с пробелами выводит ошибку?
Для получения места в общежитии формируется список студентов, который включает ФИО студента, группу, средний балл, доход на члена семьи. Общежитие впервую очередь предоставляется тем, у кого доход на члена семьи меньше двух минимальных зарплат, затем остальным в порядке уменьшения среднего балла. Вывести список очередности предоставления мест в общежитии.
#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;
}
Условие:
Для получения места в общежитии формируется список студентов, который включает ФИО студента, группу, средний балл, доход на члена семьи. Общежитие впервую очередь предоставляется тем, у кого доход на члена семьи меньше двух минимальных зарплат, затем остальным в порядке уменьшения среднего балла. Вывести список очередности предоставления мест в общежитии.