diff --git a/a1/program.c b/a1/program.c index fe9b81b..d5969c7 100644 --- a/a1/program.c +++ b/a1/program.c @@ -25,34 +25,49 @@ struct vzorec{ }; int main(){ + int results[SIZE]; char line[SIZE]; char znaky[] = "+-*/"; memset(line,0,SIZE); struct vzorec funkcia[SIZE]; memset(funkcia,0,SIZE); char* pEnd; + int counter = 0; while (fgets(line,SIZE,stdin) && line[0] != '\n'){ if(line == NULL){ break; } int n = sscanf(line, "%lf %c %lf %c %lf", &funkcia->x, &funkcia->znak1, &funkcia->y, &funkcia->znak2, &funkcia->result); if(checkZnaka(znaky, funkcia->znak1) == true || funkcia->znak2 != '='){ - printf("CHYBA\n"); - return 0; + results[counter] = 1; + counter++; + continue; } double r1 = (round(funkcia->x*10) + round(funkcia->y*10))/10; double r2 = (round(funkcia->x*10) - round(funkcia->y*10))/10; double r3 = (round(funkcia->x*10) * round(funkcia->y))/10; double r4 = (round(funkcia->x*10) / round(funkcia->y))/10; if(funkcia->result != r1 && funkcia->result != r2 && funkcia->result != r3 && funkcia->result != r4){ - printf("ZLE\n"); - return 0; + results[counter] = 2; + counter++; + continue; } else{ - printf("OK\n"); - return 0; + results[counter] = 3; + counter++; + continue; } - printf("x: %d, znak1: %c, y: %d, znak2: %c, result: %d\n", funkcia->x, funkcia->znak1, funkcia->y, funkcia->znak2, funkcia->result); + } + for(int i = 0; i <= counter;i++){ + if(results[i] == 1){ + printf("CHYBA\n"); + } + if(results[i] == 2){ + printf("ZLE\n"); + } + if(results[i] == 3){ + printf("OK\n"); + } } return 0; } \ No newline at end of file