Приветсвую
Суть программы такова, что вводится 2 числа с плавающей точкой. Сценарий идет по нескольким путям - если одно число больше другого и если они равны. Если одно число меньше другого всего меньше чем на 0.01 - то выводится "Числа почти равны", вот мой код:
int main(){
double val1, val2;
while(cin >> val1 >> val2){
if(val1 > val2)
if(val1 - val2 < 0.01)
cout << "Числа почти равны\n";
else
cout << "Наименьшее значение равно " << val2 << "\n"
<< "Наибольшее значение равно " << val1 << "\n";
else if(val1 < val2)
if(val2 - val1 < 0.01)
cout << "Числа почти равны\n";
else
cout << "Наименьшее значение равно " << val1 << "\n"
<< "Наибольшее значение равно " << val2 << "\n";
else
cout << "Числа равны";
}
return 0;
}
В чем, собственно, мой вопрос? Если я ввожу в консоль 10.01 и 10.02 - выводится "Числа почти равны", хотя я указывал идти по этому пути только тогда,
когда их разница меньше, чем 0.01. Я понимаю, если бы я сделал условие
if(val1 - val2 <= 0.01)
, но мой код не содержит такой конструкции