From cad86a89ca95efffc44835553473c2367e4ab2b4 Mon Sep 17 00:00:00 2001 From: Pavlo Tverdyi Date: Tue, 31 Mar 2020 18:40:15 +0000 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20'du4/program.c'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- du4/program.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/du4/program.c b/du4/program.c index af71f2a..3e4da79 100644 --- a/du4/program.c +++ b/du4/program.c @@ -3,36 +3,38 @@ #include #include -int call(float A, float B, float C, char AC){ - if(AC=='/'&&B==0||AC==('+'||'-'||'*'||'-')){ +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"); } - else if(AC=='-'){ + if(AC=='-'){ if(A-B==C)return printf("OK\n"); return printf("ZLE\n"); } - else if(AC=='*'){ + if(AC=='*'){ if(A*B==C)return printf("OK\n"); return printf("ZLE\n"); } if(AC=='/'){ - float Cc=A/B; + long double Cc=A/B; Cc=(int)(Cc*100000); Cc=(float)Cc/100000; - if(Cc==C)return printf("OK\n"); + if(Cc==C || A/B==C)return printf("OK\n"); +// printf("%Lf",Cc); return printf("ZLE\n"); } - return printf("CHYBA"); + return printf("CHYBA\n"); } + int main() { char *str; str=(char*)malloc(100); -float a,b,c; +long double a,b,c; char ac,el; int ind=0; for(int i=0;el!='\n';i++){ @@ -43,7 +45,11 @@ for(int i=0;el!='\n';i++){ str[ind]=el; ind++; } -sscanf(str,"%f%c%f=%f ",&a,&ac,&b,&c); +//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; } +