#include #include #include #include int call(long double A, long double B, long double C, char AC){ if(AC=='/'&&B==0 || AC==('+'||'-'||'*'||'-')){ return printf("CHYBA\n"); } else if(AC=='+'){ if(A+B==C)return printf("OK\n"); return printf("ZLE\n"); } if(AC=='-'){ if(A-B==C)return printf("OK\n"); return printf("ZLE\n"); } if(AC=='*'){ if(A*B==C)return printf("OK\n"); return printf("ZLE\n"); } if(AC=='/'){ long double Cc=A/B; Cc=(int)(Cc*100000); Cc=(float)Cc/100000; if(Cc==C || A/B==C)return printf("OK\n"); // printf("%Lf",Cc); return printf("ZLE\n"); } return printf("CHYBA\n"); } int main() { char *str; str=(char*)malloc(100); long double a,b,c; char ac,el; int ind=0; for(int i=0;el!='\n';i++){ el=getchar(); if(isspace(el)){ continue; } str[ind]=el; ind++; } //3␣/␣45␣=␣0.06666↵ //scanf("%s",str); sscanf(str,"%Lf%c%Lf=%Lf ",&a,&ac,&b,&c); //printf("\n%f %c %f =%f ",a,ac,b,c); call(a,b,c,ac); return 0; }