Изменить 'du4/program.c'
This commit is contained in:
parent
6538107f50
commit
cad86a89ca
@ -3,36 +3,38 @@
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user