2016-04-26 9 views
-1

最終的なプロジェクトで複数の目的を果たすメニューを作成しています。メニューが必要C++メニュープログラムの入力エラー検出器が無効です

最後のものは、エラー検出器である... ...

do 
    { 

    menu (selection); 

    if (selection == 1) 
    { 
     system("CLS"); 
     Program1(); 
     system("Pause"); 
    } 

    if (selection == 2) 
    { 
     system ("CLS"); 
     Program2(); 
     system("Pause"); 
    } 

などをボイドで構築されており、このような構造です。メニューにはオプション1〜5があるので、誰かが6を入力すると「無効な入力」と表示され、メニューに再入力したいかどうかを尋ねます。私が得ている問題は、それを行う方法を考え出すことです。 "void Invalid_Entry();"のようにvoidに設定した場合、私は空白の中でプログラムを終了させません。私はちょうどそれは...

"他

{ 裁判所未満< < "無効なエントリとして設定している場合は、" < <てendl;

coutの< <は" もう一度お試しください? (Y/N)」< < endl;

cin >> answer;

}

..私はリターン0でプログラムを終了することができ;,私は、ユーザーが「Y」と答えるだろうというとき、メニューに戻ってそれをリダイレクトする方法を見つけることができません。どんな助け?

答えて

0

boolフラグとwhileループを組み合わせて使用​​できます。

bool var_continue = false; 
while (var_continue) { 
    menu(selection); 
    switch (selection) { 
     case 1: 
      system("CLS"); 
      Program1(); 
      system("Pause"); 
      break; 
     case 2: 
      system("CLS"); 
      Program2(); 
      system("Pause"); 
      break; 
     default: 
      cout << "invalid entry" <<endl; 
      cout << "try again? (Y/N)" << endl; 
      cin >> answer; 
      var_continue = (answer == "Y"); 
    } 
} 
関連する問題