0
私はこのような関数を持っていますが、pa [i] .fullnameが空白行であればループを中断したいだけです。いくつかの方法を試して、まだsolutingを見つけることはありませんでした。 私はStephen Prataの本と一緒に行く予定ですが、これは練習の1つです。 いくつかのヒントがうれしいです。入力空白行中にループを中断する
int getinfo(student pa[], int n)
{
int i = 0;
for (i = 0; i < n; i++) {
cout << "Imie: " << endl;
cin >> pa[i].fullname;
cout << "Hobby: ";
cin >> pa[i].hobby;
cout << "Ooplevel: ";
cin >> pa[i].ooplevel;
[enter link description here][1]
}
return i;
}
'場合(PA [i]の.fullname.empty())これを試すことができます。 } 'fullnameはstd :: stringであると仮定します。 –
http://hastebin.com/jufukofaji.cpp ここにコードの残りの部分がありますが、このサイトのコードの書式設定はまだ分かりませんでした。申し訳ありません。この方法で作成しています – Kossano
@TrevorHickey Um ... 'std :: string'は一般的な解決策としては機能しません。抽出演算子は、ストリームの失敗または実際に空でない文字列を読み取るまで、改行を含む空白をスキップします。私は、適切な解決策は、ストリーム抽出ではなく 'std :: getline'を使用すると思います。もちろんOPは実際にはすべてのIO操作をチェックする必要があります。 – WhozCraig