Изменить 'du4/program.c'

^^
This commit is contained in:
Oleksandr Hryshchenko 2021-04-01 15:49:50 +00:00
parent f39dea1f67
commit 565ebc311c

View File

@ -77,16 +77,28 @@ int main() {
LABEL: LABEL:
switch(operation){ switch(operation){
case 1: case 1:
if(strtof(number1, &ptr) != roundf(strtof(number2, &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"); 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; break;
case 2: case 2:
if(strtof(number1, &ptr) != roundf(strtof(number2, &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"); 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; break;
case 3: case 3:
if(strtof(number1, &ptr) != roundf(strtof(number2, &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"); 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; break;
case 4: case 4:
if(strtof(number1, &ptr) != roundf(strtof(number2, &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"); 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; break;
default: default:
printf("CHYBA\n"); printf("CHYBA\n");