現在のプロジェクトでは、do-whileループと別の値生成関数を使用してプログラムを呼び出しています。入力された最後の2つの数字の差が12を超えるまで、プログラムは不確定な量の入力を求めます。コードは明らかにそのように感じるときにのみ機能します。ときには、ブールが即座に満たされて終了したことを認識することもありますが、最初の場所で終了する場合でも、終了するまで15回以上の数字を入力できます。可能であれば、現在のコードと同じようにコードを保持したいと思います。私は前提条件が必要であることを知っています。なぜなら、最初の入力は何も比較されていないので、私は現時点でそれを理解しようとしています。C++なぜブール条件が満たされるとすぐにdo-whileループが終了しないのですか?
これは、これまでの私のコードです:
bool TwelveApart(int x, int y);
int main()
{
int num1, num2;
cout << "Enter some integers: " << endl;
do
{
cin >> num1 >> num2;
TwelveApart(num1, num2);
} while (TwelveApart(num1, num2) == false);
cout << "The difference between " << num1 << " and " << num2 << " is greater than or equal to 12." << endl;
return 0;
}
bool TwelveApart(int x, int y)
{
if (abs(x - y >= 12))
{
return true;
}
else
{
return false;
}
}
xから 'y> = 12'を引いています。はい、あなたはその権利を読んで、私はそれがあなたに意味をなさないと確信しています....まあ、それはポイントです。 ;)しかし、私は今あなたの問題を解決するのに十分な情報があると確信しています。 –
私はそれを逃したとは思わない。 – JigglyBlubber