gfs
This commit is contained in:
parent
6f1f57a384
commit
73092b0602
41
du3/program.c
Normal file
41
du3/program.c
Normal file
@ -0,0 +1,41 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include <math.h>
|
||||
|
||||
int main() {
|
||||
char riadok[1000];
|
||||
double cislo1, cislo2, vysledok, ocakavany;
|
||||
char ligma;
|
||||
|
||||
while (fgets(riadok, 1000, stdin) && riadok[0] != '\n') {
|
||||
if (sscanf(riadok, "%lf %c %lf = %lf", &cislo1, &ligma, &cislo2, &ocakavany) != 4) {
|
||||
printf("CHYBA\n");
|
||||
continue;
|
||||
}
|
||||
|
||||
if (ligma != '+' && ligma != '-' && ligma != '*' && ligma != '/') {
|
||||
printf("CHYBA\n");
|
||||
continue;
|
||||
}
|
||||
|
||||
if (ligma == '/' && cislo2 == 0) {
|
||||
printf("CHYBA\n");
|
||||
continue;
|
||||
}
|
||||
|
||||
switch (ligma) {
|
||||
case '+': vysledok = cislo1 + cislo2; break;
|
||||
case '-': vysledok = cislo1 - cislo2; break;
|
||||
case '*': vysledok = cislo1 * cislo2; break;
|
||||
case '/': vysledok = cislo1 / cislo2; break;
|
||||
}
|
||||
|
||||
vysledok = round(vysledok * 100) / 100;
|
||||
ocakavany = round(ocakavany * 100) / 100;
|
||||
|
||||
printf(fabs(vysledok - ocakavany) < 0.001 ? "OK\n" : "ZLE\n");
|
||||
}
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user