Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如果(abs(num-num2)<;=0.01)不能<<&引用;“xyx”;;不在c+中工作+;_C++_C++17 - Fatal编程技术网

C++ 如果(abs(num-num2)<;=0.01)不能<<&引用;“xyx”;;不在c+中工作+;

C++ 如果(abs(num-num2)<;=0.01)不能<<&引用;“xyx”;;不在c+中工作+;,c++,c++17,C++,C++17,我是一个新手程序员。有了C++控制台程序,我想计算两个数是否相等(2个数之间的差值必须在0.01之间)。当2个数是3到17.99时,程序给出正确的结果。但是当数字超出这个范围时,它就不起作用。 double num,num2; while(cin>>num>>num2) { if(abs(num-num2)<=0.01) { cout<<"The numbers are almost equal"; } } 在上

我是一个新手程序员。有了C++控制台程序,我想计算两个数是否相等(2个数之间的差值必须在0.01之间)。当2个数是3到17.99时,程序给出正确的结果。但是当数字超出这个范围时,它就不起作用。
double num,num2;
while(cin>>num>>num2)
{
    if(abs(num-num2)<=0.01)
    {
       cout<<"The numbers are almost equal";
    }
} 

在上面的所有代码中使用。

< p>看起来,你从C中使用<代码> Abess()/<代码>,从中可以看出它接受了“类型<代码> int <代码>的值。因此,你的参数是圆的。你要么需要使用<代码> Fabs](),要么从代码中更好地使用C++变体>代码:STD::Abess()/<代码>,它提供了正确的


这又是一个案例,告诉您“
使用namespace std;
不是您的朋友”

您需要的是
fabs()
,而不是
abs()
@Slava或just
std::abs
。请格式化您的代码,使其可读。哦,好吧,这就是问题所在,为什么第一个代码不起作用。但为什么第二个代码不起作用,请找出原因。我总是使用“使用命名空间std;”@Curiouslearner和我总是使用“使用命名空间std;”-那么你最好停下来。@Curiouslearner“但是为什么第二个代码不起作用,请找出原因”首先,每个问题一个问题。其次-需要数据样本(你期望的和你得到的)阅读规则。
double num,num2;
while(cin>>num>>num2)
{
    if(num>num2)
    {
        if(num-num2<=0.01)
            cout<<"~";
    }
    else if(num2>num)
    {
        if(num2-num<=0.01)
            cout<<"~";
    }
} 
double num,num2;
while(cin>>num>>num2)
{
   if(num>num2)
   {
      if(num2+0.01>=num)
      {
         cout<<"~";
      }
   }
   else if(num2>num)
   {
      if(num+0.01>=num)
      {
         cout<<"~";
      }
   }
} 
num-num2<=0.01  Or, -num2-0.01<=-num  Or, num2+0.01>=num 
using namespace std;