daco dzive1234
This commit is contained in:
		
							parent
							
								
									a9f7391162
								
							
						
					
					
						commit
						d0e21eae4b
					
				@ -13,63 +13,85 @@ float zaokruhli(float cislo){
 | 
			
		||||
int main(){
 | 
			
		||||
    char riadok[100];
 | 
			
		||||
    while (fgets(riadok, sizeof(riadok), stdin)){
 | 
			
		||||
        if (riadok[0] == '\n'){
 | 
			
		||||
        riadok[strcspn(riadok, "\n")] = 0;
 | 
			
		||||
 | 
			
		||||
        if (strlen(riadok) == 0){
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        char *ptr = riadok;
 | 
			
		||||
        while (*ptr == ' ') ptr++;
 | 
			
		||||
        float cislo1 = strtof(ptr, &ptr);
 | 
			
		||||
 | 
			
		||||
        char *endptr;
 | 
			
		||||
        float cislo1 = strtof(ptr, &endptr);
 | 
			
		||||
        if (ptr == endptr){
 | 
			
		||||
            printf("CHYBA\n");
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
        ptr = endptr;
 | 
			
		||||
 | 
			
		||||
        while (*ptr == ' ') ptr++;
 | 
			
		||||
        char operacia = *ptr;
 | 
			
		||||
        ptr++;
 | 
			
		||||
 | 
			
		||||
        while (*ptr == ' ') ptr++;
 | 
			
		||||
        float cislo2 = strtof(ptr, &ptr);
 | 
			
		||||
 | 
			
		||||
        while (*ptr == ' ') ptr++;
 | 
			
		||||
        if (*ptr != '=') {
 | 
			
		||||
        if (operacia != '+' && operacia != '-' && operacia != '*' && operacia != '/') {
 | 
			
		||||
            printf("CHYBA\n");
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
        ptr++;
 | 
			
		||||
 | 
			
		||||
        while (*ptr == ' ') ptr++;
 | 
			
		||||
        float zadany_vysledok = strtof(ptr, &ptr);
 | 
			
		||||
        float cislo2 = strtof(ptr, &endptr);
 | 
			
		||||
        if (ptr == endptr){
 | 
			
		||||
            printf("CHYBA\n");
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
        ptr = endptr;
 | 
			
		||||
 | 
			
		||||
        while (*ptr == ' ') ptr++;
 | 
			
		||||
        if (*ptr != '='){
 | 
			
		||||
            printf("CHYBA\n");
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
        ptr++;
 | 
			
		||||
 | 
			
		||||
        while (*ptr == ' ') ptr++;
 | 
			
		||||
        float zadany_vysledok = strtof(ptr, &endptr);
 | 
			
		||||
        if (ptr == endptr || *endptr != '\0'){
 | 
			
		||||
            printf("CHYBA\n");
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        float skutocny_vysledok = 0;
 | 
			
		||||
        int chyba = 0;
 | 
			
		||||
 | 
			
		||||
      switch(operacia){
 | 
			
		||||
         case '+': skutocny_vysledok = cislo1 + cislo2; break;
 | 
			
		||||
         case '-': skutocny_vysledok = cislo1 - cislo2; break;
 | 
			
		||||
         case '*': skutocny_vysledok = cislo1 * cislo2; break;
 | 
			
		||||
         case '/':
 | 
			
		||||
               if (cislo2 == 0){
 | 
			
		||||
                  chyba = 1;
 | 
			
		||||
               }
 | 
			
		||||
               else
 | 
			
		||||
               {
 | 
			
		||||
        switch(operacia){
 | 
			
		||||
            case '+': skutocny_vysledok = cislo1 + cislo2; break;
 | 
			
		||||
            case '-': skutocny_vysledok = cislo1 - cislo2; break;
 | 
			
		||||
            case '*': skutocny_vysledok = cislo1 * cislo2; break;
 | 
			
		||||
            case '/':
 | 
			
		||||
                if (cislo2 == 0) {
 | 
			
		||||
                    chyba = 1;
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    skutocny_vysledok = cislo1 / cislo2;
 | 
			
		||||
                }
 | 
			
		||||
               break;
 | 
			
		||||
         default: chyba = 1;
 | 
			
		||||
                break;
 | 
			
		||||
            default: chyba = 1;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
      if (chyba) {
 | 
			
		||||
        if (chyba){
 | 
			
		||||
            printf("CHYBA\n");
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
      if (zaokruhli(skutocny_vysledok) == zaokruhli(zadany_vysledok)){
 | 
			
		||||
        if (fabs(zaokruhli(skutocny_vysledok) - zaokruhli(zadany_vysledok)) < TOLERANCE) {
 | 
			
		||||
            printf("OK\n");
 | 
			
		||||
      }
 | 
			
		||||
      else
 | 
			
		||||
      {
 | 
			
		||||
         printf("ZLE\n");
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
   return 0;
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
            printf("ZLE\n");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user