This commit is contained in:
Weber 2024-10-14 14:02:59 +00:00
parent 0a71ff2d13
commit b52dd9bfd0

View File

@ -109,7 +109,7 @@ int main() {
vloz(&kalkulacka, hodnota); vloz(&kalkulacka, hodnota);
zobraz_zasobnik(&kalkulacka); zobraz_zasobnik(&kalkulacka);
} }
else if (strlen(vstup) == 2 && je_platna_operacia(vstup[0])) {a else if (strlen(vstup) == 2 && je_platna_operacia(vstup[0])) {
char operacia = vstup[0]; char operacia = vstup[0];
if (!dost_operantov(&kalkulacka)) { if (!dost_operantov(&kalkulacka)) {
@ -117,27 +117,47 @@ int main() {
continue; continue;
} }
bool uspech = false;
switch (operacia) { switch (operacia) {
case '+': case '+':
uspech = scitat(&kalkulacka); if (scitat(&kalkulacka)) {
zobraz_zasobnik(&kalkulacka);
} else {
printf("no input\n");
return 0;
}
break; break;
case '-': case '-':
uspech = odcitat(&kalkulacka); if (odcitat(&kalkulacka)) {
zobraz_zasobnik(&kalkulacka);
} else {
printf("no input\n");
return 0;
}
break; break;
case '*': case '*':
uspech = nasobit(&kalkulacka); if (nasobit(&kalkulacka)) {
zobraz_zasobnik(&kalkulacka);
} else {
printf("no input\n");
return 0;
}
break; break;
case '/': case '/': {
uspech = delit(&kalkulacka); float a, b;
if (vyber(&kalkulacka, &a, &b)) {
if (a == 0) {
printf("division by zero\n");
return 0;
} else {
vloz(&kalkulacka, b / a);
zobraz_zasobnik(&kalkulacka);
}
} else {
printf("no input\n");
return 0;
}
break; break;
} }
if (uspech) {
zobraz_zasobnik(&kalkulacka);
} else {
printf("no input\n");
return 0;
} }
} else { } else {
printf("bad input\n"); printf("bad input\n");