diff --git a/du4/program.c b/du4/program.c new file mode 100644 index 0000000..ea71802 --- /dev/null +++ b/du4/program.c @@ -0,0 +1,158 @@ +#include +#include +#include +#include +#include +char array[100]; +char array1[100]; +char number1[100]; +char number2[100]; +char answer[100]; +int p=0; +float zero=0; +char znak1; +char znak2; +float firstN=0; +float secondN=0; +float answer1=0; +float myAnswer=0; +char c; +char r; +char q; +int count = 0; +int scan(char* array2){ +char* r = fgets(array1,100,stdin); +if (r == NULL){ + return -1; +} + else{ + return 0; + } +} +int main(){ +scan(array1); +int i=0; +while(i<100){ + i=i+1; + if(array1[i]!='\n'){ + count=count+1; + } + if(array1[i]=='\n'){ + if(array1[i+1]=='\n') + { + array1[i]='#'; + break; + } + } + else + { + count=count+1; + } +} +i=0; +int j=0; +int t=0; +while(array1[t]!='#'){ + array[p]=array1[t]; + if(array1[t]=='='){ + t=t+1; + p=p+1; + if(array1[t]==' '){ + array[p]=array1[t]; + t=t+1; + p=p+1; + } + while(array1[t]!=' ') + { + if(array1[t]=='#'){ + break; + } + array[p]=array1[t]; + t=t+1; + p=p+1; + } + while(array[i]!='\0'){ + if(array[i]=='+'||array[i]=='-'||array[i]=='/'||array[i]=='*'){ + break; + } + else if(array[i]=='1'||array[i]=='2'||array[i]=='3'||array[i]=='4'||array[i]=='5'||array[i]=='6'||array[i]=='7'||array[i]=='8'||array[i]=='9'||array[i]=='0'||array[i]=='.'){ + number1[j]= array[i]; + i=i+1; + j=j+1; + } + else if(array[i]==' ' || isalpha(array[i])){i++;} + else{ + printf("CHYBA\n"); + return 0; + } + } + znak1=array[i]; + i=i+1; + j=0; + while(array[i]!='='){ + if(array[i]=='1'||array[i]=='2'||array[i]=='3'||array[i]=='4'||array[i]=='5'||array[i]=='6'||array[i]=='7'||array[i]=='8'||array[i]=='9'||array[i]=='0'||array[i]=='.'){ + number2[j]=array[i]; + j=j+1; + i=i+1; + } + else if(array[i]==' '){ + i=i+1; + } + else{ + i=i+1; + p=p+1; + } +} + znak2=array[i]; + i++; + j=0; + j=0; +while(array[i]=='1'||array[i]=='2'||array[i]=='3'||array[i]=='4'||array[i]=='5'||array[i]=='6'||array[i]=='7'||array[i]=='8'||array[i]=='9'||array[i]=='0'||array[i]==' '||array[i]=='.'){ + if(array[i]=='1'||array[i]=='2'||array[i]=='3'||array[i]=='4'||array[i]=='5'||array[i]=='6'||array[i]=='7'||array[i]=='8'||array[i]=='9'||array[i]=='0'||array[i]=='.'){ + answer[j]=array[i]; + i=i+1; + j=j+1; + } + else if(array[i]==' '){ + i=i+1; + }else{ + i=i+1; + p=p+1; + } + } + j=0; + float firstN = atof(number1); + float secondN = atof(number2); + float answer1 = atof(answer); + if(znak1=='-'){ + myAnswer=firstN-secondN; + } + else if(znak1=='+'){ + myAnswer=firstN+secondN; + } + else if(znak1=='/'){ + myAnswer=firstN/secondN; + } + else if(znak1=='*'){ + myAnswer=firstN*secondN; + } + zero = myAnswer-answer1; + if(zero>=-0.00001&&zero<=0.00001){ + printf("OK\n"); + } + else{ + printf("ZLE\n"); + } + i=0; + p=-1; + memset(array,0,100); + } + p=p+1; + t=t+1; + scanf("\n%c",&q); + if(c=='\n'){ + return 0; + } +} + return 0; +} \ No newline at end of file