Jeroen Jeroen - 1 month ago 6
C++ Question

Compare two numbers if the difference is higher/lower than 'x', do something

I am wondering whether it is possible to write a code that commpares two numbers and when the second number is 'x' higher/lower than the first number do something. I wrote an example code to make it a bit more clear. Help is appreciated, thanks!

int main()
{

int first = 0;
int second = 0;

cin >> first;
cin >> second;

if (second = 0.5 > first) //I assumed it would look close to this. This obv isnt working but I cant figure out the correct way.
{
cout << "Too big\n";
}
else if (second = 0.5 < first)
{
cout << "Too low\n";
}
else {
cout << "Calculation will be made\n";
}

return 0;
}


So in this example, when the second number is between the range of 0.5 compared to the first number the code will proceed.

Answer

If you want the amount to check by a certain amount, change your condition to this:

if (second - first > 0.5)
{
    cout << "Too Big!\n";
}
else if (second - first < 0.5)
{
    cout << "Too low\n";
}

This would check if the difference between the 2 nunbers fits the criteria you want. Also, change the types of your numbers to double, since currently truncation will compare the wrong numbers. For example in checking the value with a variable, try this:

int main()
{

    double first = 0;
    double second = 0;
    double x = 0;
    cin >> first;
    cin >> second;
    cin >> x;
    if (second - first > x) {
        cout << "Too Big!\n";
    }
    else if (second - first < x) {
        cout << "Too low\n";
    }
    else {
        cout << "Calculation will be made\n";
    }

    return 0;
}