Program ma wydrukować tekst "Liczby są prawie równe.", jeśli różnią się o mniej niż 1/100.
int main()
{
system("chcp 1250");
double val1;
double val2;
while (cin >> val1 >> val2)
{
if (val1 == val2)
cout << "Liczby są równe." << endl;
else if (val1 > val2) {
cout << "Mniejsza z liczb to: " << val2 << "\nWiększa z liczb to: " << val1 << endl;
if (val1 - val2 < 1.0 / 100) cout << "Liczby są prawie równe." << endl;
}
else {
cout << "Mniejsza z liczb to: " << val1 << "\nWiększa z liczb to: " << val2 << endl;
if (val2 - val1 < 1.0 / 100) cout << "Liczby są prawie równe." << endl;
}
}
return 0;
}
Jednak po wprowadzeniu liczb 7 i 7.01 program wyświetla komunikat "Liczby są prawie równe." mimo ze różnica nie jest mniejsza od 1/100.
Czy ktoś może mi wytłumaczyć jak to działa oraz jak rozwiązać ten problem?
Przepraszam za błędy i złe formatowanie jest to mój pierwszy post + godzina późna.