【解決方法】ユーザーが ‘y’ を入力すると C++ プログラムを再実行し、’n’ を入力すると終了するようにするにはどうすればよいですか?

プログラミングQA


「y」が入力されたときにプログラムが再実行され、「n」が入力されたときにプログラムが実行を停止し、終了するために任意のキーを入力するようにユーザーに要求するように、この C++ プログラムを機能させようとしています。 私は私が持っているエラーを知りません。

私が試したこと:

C++
tnt main() {

    char again; // to hold y or n input

    if (again == 'y'){
    // Asks user if they want to play again
       cout << "Would you like to play again? (y/n):";
       cin >> again;
    } else if (again == 'n') {
      cout << "Press any key to continue." << endl;
      cin.ignore(1);
    }
}

解決策 1

見積もり:

‘y’ が入力され、’n’ が入力されると、自分自身を再実行します。

確かに、このためには、条件 (「n」を入力) が満たされるまで、何度も何度も実行します。

プログラムをステートメントのグループに何度も何度もするにはどうすればよいでしょうか? 読んでいるガイドを使用して、C++ でのこれらの構造について学習してください。 良い方法と悪い方法があります。それらを試してみてください。理解できない場合は、私たちに戻ってきてください。私たちがお手伝いします。 🙂

あなたが探している do...while ここでステートメントを使用して、条件が true になるまで一連のアクションを実行します。 この場合の条件は、ユーザーが「y‘。

do-while ループ – cppreference.com[^]

ああ、閉じ括弧がありません (プログラムの最後の行をコピーし忘れていない限り)。

解決策 2

最初に必要なのはループ構成です。基本的なものは 3 つあります。 forwhile、 と do

この場合、私は do – これはテストで終了するループです:

C++
do
   {
   ... your code here ...
   cout << "Would you like to play again? (y/n):";
   cin >> again;
   } while (again == 'y')

解決策 3

見積もり:

「y」が入力されたときにプログラムが再実行されるように、この C++ プログラムを機能させようとしています。

プログラム自体を再実行しようとしないでください。うまくいきません。
ループを使用する必要があります: C++ do…while ループ – チュートリアルポイント[^]

あなたのコードにはいくつかの問題があります:

C++
tnt main() {           // Error here: first word is int
    char again;        // The variable is not initialized
    if (again == 'y'){ // At this place, again is unknown
       cout << "Would you like to play again? (y/n):";
       cin >> again;
    } else if (again == 'n') {
      cout << "Press any key to continue." << endl;
      cin.ignore(1);
    }
}

解決策 4

#include<iostream>
using namespace std;
int main() {

    char again; 
    start:
    cout << "Would you like to play again? (y/n):"; // to hold y or n input
 
    cin >> again;
    
    if (again == 'y'){
       system("CLS"); // to clear the screen
       goto start; // it will go back to asking if they wants to play again or not
      
      } else if (again == 'n') {
      cout << "Press any key to continue." << endl;
      cin.ignore(1);
     
    }
}

コメント

タイトルとURLをコピーしました