Ниже приведен код функции, которую я использую для ввода данных студента в массив структур студента.Я хочу, чтобы цикл завершился, когда я достиг предела (n), что нормально ИЛИ, и это то, с чем у меня возникают проблемы, когда для имени студента вводится пустая строка?У кого-нибудь есть предложения?Текущий метод, который я использую, не работает (оператор if ниже 'cin.getline (pa [i] .fullname, SLEN - 1);')
int getinfo(student pa[], int n)
{
cout << "\nPlease enter student details:\n\n";
int i;
for (i = 0; i < n; i++)
{
cout << "Student " << (i + 1) << ": \n";
cout << " > Full name: ";
cin.getline(pa[i].fullname, SLEN - 1);
if (pa[i].fullname == NULL)
continue;
cout << " > Hobby: ";
cin.getline(pa[i].hobby, SLEN - 1);
cout << " > OOP Level: ";
cin >> pa[i].ooplevel;;
cin.get();
cout << endl;
}
cout << "--------------------------------------" << endl;
return i;
}