[解決済み] c++で、ある条件(if)が満たされた後にwhileループを再開するにはどうしたらいいですか?[クローズド]
2022-02-26 09:01:47
質問
whileループの中にたくさんのif文があります。プログラムは条件に従ってエラーメッセージを表示しなければなりませんが、複数のエラーがある場合は、それらのうちの1つだけを表示しなければなりません。
どうすればいいですか?
ご質問の内容があまり詳細ではないので、何をお望みなのかが少しわかりにくいのですが。
whileループでエラーが発生した後、次の反復処理に入りたい場合は、whileループの中で
continue
ステートメントを使用します。
while( something )
{
if( condition )
{
//do stuff
continue;
}
else if( condition 2 )
{
//do other stuff
continue;
}
<...>
}
もし、これら以外に何もなければ
if
がループ内にあり、条件が整数値である場合は
switch
の代わりに
while( condition )
{
switch( errorCode )
{
case 1:
//do stuff;
break;
case 2:
//do other stuff;
break;
<...>
}
}
サイクルを完全に再スタートさせたい場合...これは少し難しいですね。この場合
while
のループで、条件をその開始時の値に設定すればよい。たとえば、次のようなループがあったとする。
int i = 0;
while( i < something )
{
//do your stuff
i++;
}
であれば、次のようにリセットすることができます。
int i = 0;
while( i < something )
{
//do your stuff
if( something that tells you to restart the loop )
{
i = 0;//setting the conditional variable to the starting value
continue;//and going to the next iteration to "restart" the loop
}
}
ただし、これには本当に注意が必要で、誤って無限ループに陥ってしまうことがあります。
関連
-
[解決済み】C++のGetlineの問題(オーバーロードされた関数 "getline "のインスタンスがない
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み] Linux上で動作するC++コードのプロファイリングを行うにはどうすればよいですか?
-
[解決済み] 仮想デストラクタはいつ使うのか?
-
[解決済み] <は<=より速いのか?
-
[解決済み] Do-whileループをエミュレートする方法は?
-
[解決済み] std::stringをintに変換するにはどうしたらいいですか?
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み】高放射能環境下で使用するアプリケーションのコンパイルについて
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] テスト
-
[解決済み】getline()が何らかの入力の後に使用されると動作しない 【重複あり
-
[解決済み】C++ - 解放されるポインタが割り当てられていないエラー
-
[解決済み] error: 'ostream' does not name a type.
-
[解決済み] string does not name a type Errorが発生するのはなぜですか?
-
[解決済み] error: 'if' の前に unqualified-id を期待した。
-
[解決済み】「std::operator」で「operator<<」にマッチするものがない。
-
[解決済み】Visual Studio 2013および2015でC++コンパイラーエラーC2280「削除された関数を参照しようとした」が発生する
-
[解決済み】クラステンプレートの使用にはテンプレート引数リストが必要です
-
[解決済み】システムが指定されたファイルを見つけられませんでした。