2
#include <iostream>
#include <windows.h>
#include <cstdlib>
#include <stdlib.h>

using namespace std;

int main()
{
    int x,y,z;
cout<<"welcome to guessing game\nplayer one pick your number: ";
cin>>x;
if (x < 0)(x > 100);
{
    cout<<"out of number range";
}
Sleep(2000);
system("cls");
cout<<"ok player 2 pick the guess";
cin>>y;
if (x == y){
      cout<<"congrats you got it right";
           }
            else{
            if (x < y){
            cout<<"Go lower";}
            else {
            if (x > y){
            cout<<"higher";}}
            }
system("pause>nul");
return 0;
}

入力した数値に関係なく、最初のifステートメントが機能するのを確認できず、数値範囲外が自動的に表示されます。また、if (x < 0)(x > 100); のように非常に近い条件を配置することもできます。また、プログラムの最初に戻るようにするにはどうすればよいですか?

4

6 に答える 6

6

エラーがあります:

if (x < 0)(x > 100);
{
    cout<<"out of number range";
}

次のようにする必要があります。

if (x < 0 || x > 100)
{
    cout<<"out of number range";
}

インデントにも取り組む必要があります。それらif/else下部のステートメントは危険に見えます (インデントのために実際にはわかりません)。

于 2013-07-03T14:59:22.760 に答える
4

書き込みif (x < 0 || x > 100)(およびセミコロンの削除) は別として、浮動小数点での等値の比較には注意する必要があります。コードを確認する場合は、その行に赤いフラグを立てますif (x == y){

浮動小数点の比較を参照してください。

于 2013-07-03T15:02:57.037 に答える
3

他の誰もあなたの 2 番目の質問に実際に答えているわけではありません。

int x;
cout << "Welcome to the guessing game\n";
do {
    cout << "Please enter a number from 0 to 100: ";
    cin >> x;
} while (x < 0 || x > 100);
于 2013-07-03T15:04:02.983 に答える
2

あなたが書いた

if (x < 0)(x > 100);
{
     cout<<"out of number range";
}

最初にセミコロンを削除します。第二に、あなたは意味しましたか

if ((x < 0) || (x > 100))
{
    cout<<"out of number range";
}
于 2013-07-03T15:01:09.683 に答える
1

これを試して:

/*
if (x < 0)(x > 100);
{
    cout<<"out of number range";
}
*/

if (x < 0 || x > 100)
{
    cout<<"out of number range";
}
于 2013-07-03T15:00:26.850 に答える
0

注目すべき構文エラーがいくつかあります。

    if (x < 0)(x > 100);
{
    cout<<"out of number range";
}

まず第一に、私が知っている C++ では、このように 2 つの条件を並べて配置することはできません。||OR、またはAND でそれらを区切る必要が&&あります (ほとんどの場合 - 他にもいくつかあります)。

また、;if 文の最後に a がありました。C++でこれを行うと、いくつかの問題も発生すると思います。

最終的なコードは次のようになります。

if ((x < 0) || (x > 100))
{
    cout << "out of number range" << endl;
}

<< endl; パーツはオプションです。 これにより、出力に新しい行が追加され、次に何かを書くときに読みやすくなります。

また、ゲーム全体を繰り返しループするには、do-whileループを使用します。ここでそれらについて学ぶことができます。

于 2013-07-03T15:03:41.677 に答える