我当前的项目需要一个使用 do-while 循环和单独的值生成函数的程序。该程序要求输入无限量的输入,直到输入的最后两个数字之间的差大于 12。该代码有效,但只有在感觉很明显时才有效。有时它会立即识别出 bool 并终止,有时我可以输入 15+ 个数字直到它结束,如果它甚至首先结束的话。如果可能的话,我想保持我的代码与我目前的代码相似。我知道我需要一个先决条件,因为第一个输入没有可比性,我现在正试图弄清楚这一点。
到目前为止,这是我的代码:
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;
}
}