2016-11-19 11 views
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; 
} 
+3

'場合(PA [i]の.fullname.empty())これを試すことができます。 } 'fullnameはstd :: stringであると仮定します。 –

+0

http://hastebin.com/jufukofaji.cpp ここにコードの残りの部分がありますが、このサイトのコードの書式設定はまだ分かりませんでした。申し訳ありません。この方法で作成しています – Kossano

+0

@TrevorHickey Um ... 'std :: string'は一般的な解決策としては機能しません。抽出演算子は、ストリームの失敗または実際に空でない文字列を読み取るまで、改行を含む空白をスキップします。私は、適切な解決策は、ストリーム抽出ではなく 'std :: getline'を使用すると思います。もちろんOPは実際にはすべてのIO操作をチェックする必要があります。 – WhozCraig

答えて

0
if(pa[i] == null) 
    break; 

あなたは{破る...

+0

これがなぜ役立つのかを説明するために、回答に追加情報を追加してください。 – Tony

関連する問題