0

これは私のコードです。

#include <iostream>
using namespace std;
void numberChecker();
bool numberCalc(int num, bool guess);
int main(){
    numberChecker();
    return 0;
}

void numberChecker(){
    int num;
    int guess = false;
    cout << "Hello, welcome to my program!\nGuess: ";
    for ( ; numberCalc(num, guess==false); ){
        cin >> num;
    }
}

bool numberCalc(int num, bool guess){
    return guess = 1;
}

for ループがあり、条件が などのメソッドを参照している場合numberCalc(num, guess)、for ループで引数をチェックしてguess無視するにはどうすればよいnumですか?

num == 0また、たとえばとを比較したいとしましょうguess == true。どのようにレイアウトすればよいでしょうか。

for ( ; numberCalc(num == 1, guess==false) ;
4

3 に答える 3

1

num=0 かつguess=false のときに yor ループを終了したい場合は、次のように定義できますnumbercalc

bool numberCalc(int num, bool guess){
return guess || num ;
}

または、while ループを使用することをお勧めします

while(guess||num) { }
于 2013-09-07T13:49:20.600 に答える
0

あなただけに興味がある場合は、guessいつでも書くことができます:

bool numberCalc(int num, bool guess){
return guess == someValue; // value with you want to campair
}

次のような関数を書く場合:

bool numberCalc(int num, bool guess){
    return guess = someValue; // value with you want to campair
    }

代入操作の結果を返します (これは常に真である可能性が高いです)。両方の条件をチェックしたい場合は、次のように記述できます。

bool numberCalc(int num, bool guess){
return guess==someValue1 || num==someValue2 ;
}
于 2013-09-07T13:57:47.787 に答える
0

あなたの機能で

bool numberCalc(int num, bool guess){
return guess = 1;
}

最後のreturn guess = 1;行は に 1 をguess割り当て、その割り当ての結果を返すため、常に 1 を返します。次のように変更する必要があります。

return guess == 1;
于 2013-09-07T13:49:04.457 に答える