#include #include #include #include int main(){ int ch=getchar(); char priklad[300]; int count=0; for(int idx=0;1;idx++){ priklad[idx]=ch; if(ch=='\n'){ count++; } ch=getchar(); if((priklad[idx]=='\n'&&ch=='\n')||ch==EOF){ // якщо вын знаходить 2 ентера або ЕОФ то воно закынчуэ считуват з рядка break; } } char *start=priklad, *end=NULL; for(int c=0;c'9')&&start[idx]!=' '&&start[idx]!='='&&start[idx]!='+'&&start[idx]!='-'&&start[idx]!='*'&&start[idx]!='/'&&start[idx]!='.'){ skip=1; printf("CHYBA\n"); while((*start)!='\n')start++; //це все перевыряэ на дыйснысть того що я ввыв start++; break; } } if(skip==1){ continue; } if(z==0){ while((*start)!='\n')start++; start++; printf("CHYBA\n"); continue; } 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); start=end; while(((*start)<'0'||(*start)>'9')&&(*start)!='-'){ start++; } float vysledok2=strtof(start,&end); start=end; start++; //printf("%f\n",vysledok2); float vysledok=0; /*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; } vysledok=(round(vysledok*100))/100;//заукруглюэ if (vysledok2-vysledok < 0.001 && vysledok2-vysledok > -0.001){ // printf("OK\n"); } else{ printf("ZLE\n"); } } // printf("%.3f\n", vysledok); return EXIT_SUCCESS; }