diff --git a/du4/program.c b/du4/program.c index 7247876..dc7790e 100644 --- a/du4/program.c +++ b/du4/program.c @@ -77,25 +77,25 @@ int main() { switch(operation){ case 1: - if(strtof(number1, &ptr) != roundf(strtof(number1, &ptr))) + if((strtof(number1, &ptr) != roundf(strtof(number1, &ptr))) || (strtof(number2, &ptr) != roundf(strtof(number2, &ptr))) || (strtof(result, &ptr) != roundf(strtof(result, &ptr)))) printf("%s\n", (roundf((strtof(number1, &ptr) + strtof(number2, &ptr))*100)/100 > strtof(result, &ptr) - 0.001 && roundf((strtof(number1, &ptr) + strtof(number2, &ptr))*100)/100 < strtof(result, &ptr) + 0.001) ? "OK" : "ZLE"); else printf("%s\n", (strtof(number1, &ptr) + strtof(number2, &ptr) > strtof(result, &ptr) - 0.001 && strtof(number1, &ptr) + strtof(number2, &ptr) < strtof(result, &ptr) + 0.001) ? "OK" : "ZLE"); break; case 2: - if(strtof(number1, &ptr) != roundf(strtof(number1, &ptr))) + if((strtof(number1, &ptr) != roundf(strtof(number1, &ptr))) || (strtof(number2, &ptr) != roundf(strtof(number2, &ptr))) || (strtof(result, &ptr) != roundf(strtof(result, &ptr)))) printf("%s\n", (roundf((strtof(number1, &ptr) - strtof(number2, &ptr))*100)/100 > strtof(result, &ptr) - 0.001 && roundf((strtof(number1, &ptr) - strtof(number2, &ptr))*100)/100 < strtof(result, &ptr) + 0.001) ? "OK" : "ZLE"); else printf("%s\n", (strtof(number1, &ptr) - strtof(number2, &ptr) > strtof(result, &ptr) - 0.001 && strtof(number1, &ptr) - strtof(number2, &ptr) < strtof(result, &ptr) + 0.001) ? "OK" : "ZLE"); break; case 3: - if(strtof(number1, &ptr) != roundf(strtof(number1, &ptr))) + if((strtof(number1, &ptr) != roundf(strtof(number1, &ptr))) || (strtof(number2, &ptr) != roundf(strtof(number2, &ptr))) || (strtof(result, &ptr) != roundf(strtof(result, &ptr)))) printf("%s\n", (roundf((strtof(number1, &ptr) * strtof(number2, &ptr))*100)/100 > strtof(result, &ptr) - 0.001 && roundf((strtof(number1, &ptr) * strtof(number2, &ptr))*100)/100 < strtof(result, &ptr) + 0.001) ? "OK" : "ZLE"); else printf("%s\n", (strtof(number1, &ptr) * strtof(number2, &ptr) > strtof(result, &ptr) - 0.001 && strtof(number1, &ptr) * strtof(number2, &ptr) < strtof(result, &ptr) + 0.001) ? "OK" : "ZLE"); break; case 4: - if(strtof(number1, &ptr) != roundf(strtof(number1, &ptr))) + if((strtof(number1, &ptr) != roundf(strtof(number1, &ptr))) || (strtof(number2, &ptr) != roundf(strtof(number2, &ptr))) || (strtof(result, &ptr) != roundf(strtof(result, &ptr)))) printf("%s\n", (roundf((strtof(number1, &ptr) / strtof(number2, &ptr))*100)/100 > strtof(result, &ptr) - 0.001 && roundf((strtof(number1, &ptr) / strtof(number2, &ptr))*100)/100 < strtof(result, &ptr) + 0.001) ? "OK" : "ZLE"); else printf("%s\n", (strtof(number1, &ptr) / strtof(number2, &ptr) > strtof(result, &ptr) - 0.001 && strtof(number1, &ptr) / strtof(number2, &ptr) < strtof(result, &ptr) + 0.001) ? "OK" : "ZLE");