Unten ist der Code für eine Funktion, die ich verwende, um Schülerdaten in ein Array von Studentenstrukturen einzugeben. Ich möchte, dass die Schleife beendet wird, wenn ich das Limit (n) erreicht habe, was in Ordnung ist ODER, und das ist es, womit ich Probleme habe, wenn eine leere Zeile für einen Schülernamen eingegeben wird? Hat jemand irgendwelche Vorschläge? Die aktuelle Methode ich benutze funktioniert nicht (die if-Anweisung unter 'cin.getline (pa [i] .FullName, SLEN - 1);')So testen Sie eine leere Zeile mit cin
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;
}
fortzusetzen; sollte Pause sein; –