This commit is contained in:
Weber 2024-10-14 13:19:38 +00:00
parent cb93144809
commit ec0761dd70

View File

@ -72,10 +72,6 @@ void zobraz_zasobnik(KalkulackaZasobnik *kalkulacka) {
printf("\n"); printf("\n");
} }
bool je_platna_operacia(char operacia) {
return operacia == '+' || operacia == '-' || operacia == '*' || operacia == '/';
}
int main() { int main() {
KalkulackaZasobnik kalkulacka; KalkulackaZasobnik kalkulacka;
inicializuj(&kalkulacka); inicializuj(&kalkulacka);
@ -95,11 +91,7 @@ int main() {
if (vloz(&kalkulacka, hodnota)) { if (vloz(&kalkulacka, hodnota)) {
zobraz_zasobnik(&kalkulacka); zobraz_zasobnik(&kalkulacka);
} }
} else if (sscanf(vstup, "%c", &operacia) == 1) { if (sscanf(vstup + snprintf(NULL, 0, "%.2f", hodnota), " %c", &operacia) == 1) {
if (!je_platna_operacia(operacia)) {
printf("bad input\n");
return 0;
}
switch (operacia) { switch (operacia) {
case '+': case '+':
if (scitat(&kalkulacka)) { if (scitat(&kalkulacka)) {
@ -134,17 +126,23 @@ int main() {
} else { } else {
vloz(&kalkulacka, b / a); vloz(&kalkulacka, b / a);
zobraz_zasobnik(&kalkulacka); zobraz_zasobnik(&kalkulacka);
printf("no input\n");
return 0;
}
}
break;
}
} }
} else { } else {
printf("no input\n"); printf("no input\n");
return 0; return 0;
} }
break;
}
default:
zobraz_zasobnik(&kalkulacka);
printf("bad input\n");
return 0;
}
}
} else {
printf("bad input\n");
return 0;
}
} }
return 0; return 0;