[ad_1]
「y」が入力されたときにプログラムが再実行され、「n」が入力されたときにプログラムが実行を停止し、終了するために任意のキーを入力するようにユーザーに要求するように、この 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 つあります。 for
、 while
、 と do
この場合、私は do
– これはテストで終了するループです:
do { ... your code here ... cout << "Would you like to play again? (y/n):"; cin >> again; } while (again == 'y')
解決策 3
見積もり:「y」が入力されたときにプログラムが再実行されるように、この C++ プログラムを機能させようとしています。
プログラム自体を再実行しようとしないでください。うまくいきません。
ループを使用する必要があります: C++ do…while ループ – チュートリアルポイント[^]
あなたのコードにはいくつかの問題があります:
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); } }
[ad_2]
コメント