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,28 +117,48 @@ int main() {
continue; continue;
} }
bool uspech = false;
switch (operacia) { switch (operacia) {
case '+': case '+':
uspech = scitat(&kalkulacka); if (scitat(&kalkulacka)) {
break;
case '-':
uspech = odcitat(&kalkulacka);
break;
case '*':
uspech = nasobit(&kalkulacka);
break;
case '/':
uspech = delit(&kalkulacka);
break;
}
if (uspech) {
zobraz_zasobnik(&kalkulacka); zobraz_zasobnik(&kalkulacka);
} else { } else {
printf("no input\n"); printf("no input\n");
return 0; return 0;
} }
break;
case '-':
if (odcitat(&kalkulacka)) {
zobraz_zasobnik(&kalkulacka);
} else {
printf("no input\n");
return 0;
}
break;
case '*':
if (nasobit(&kalkulacka)) {
zobraz_zasobnik(&kalkulacka);
} else {
printf("no input\n");
return 0;
}
break;
case '/': {
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;
}
}
} else { } else {
printf("bad input\n"); printf("bad input\n");
return 0; return 0;