diff --git a/du4/program.c b/du4/program.c new file mode 100644 index 0000000..a0efe91 --- /dev/null +++ b/du4/program.c @@ -0,0 +1,54 @@ +#include +#include +#include + +int main(){ + int ch=getchar(); + char priklad[100]; + for(int idx=0;ch!='\n'&&ch!=EOF;idx++){ + priklad[idx]=ch; + ch=getchar(); + } + char *start=priklad, *end=NULL; + + float num1=strtof(start,&end); + if(end==start){ + printf("KONIEC\n"); + } + while((*start)!='+'&&(*start)!='-'&&(*start)!='/'&&(*start)!='*'){ + start++; + } + char znak=(*start); + start++; + + float num2=strtof(start,&end); + float vysledok=4; + + if(num2==0&&znak=='/'){ + printf("CHYBA\n"); + } + if(znak=='-'){ + vysledok=num1-num2; + } + else if(znak=='+'){ + vysledok=num1+num2; + } + else if(znak=='*'){ + vysledok=num1*num2; + } + else if(znak=='/'){ + vysledok=num1/num2; + } + + if (vysledok < 0.001 && vysledok > -0.001){ + printf("OK\n"); + } + else{ + printf("ZLE\n"); + } + + printf("%.3f\n", vysledok); + + return EXIT_SUCCESS; +} +