This commit is contained in:
Weber 2024-10-14 13:27:53 +00:00
parent c614a32f8c
commit 21e67c07dc

View File

@ -95,53 +95,58 @@ int main() {
if (vloz(&kalkulacka, hodnota)) {
zobraz_zasobnik(&kalkulacka);
}
if (sscanf(vstup + snprintf(NULL, 0, "%.2f", hodnota), " %c", &operacia) == 1) {
if (!je_platna_operacia(operacia)) {
} else if (sscanf(vstup, "%c", &operacia) == 1) {
if (!je_platna_operacia(operacia)) {
if (kalkulacka.vrchol >= 0) {
printf("%.2f\nbad input\n", kalkulacka.zasobnik[kalkulacka.vrchol]);
} else {
printf("bad input\n");
return 0;
}
switch (operacia) {
case '+':
if (scitat(&kalkulacka)) {
zobraz_zasobnik(&kalkulacka);
} else {
printf("no input\n");
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);
}
}
break;
return 0;
}
switch (operacia) {
case '+':
if (scitat(&kalkulacka)) {
zobraz_zasobnik(&kalkulacka);
} else {
printf("no input\n");
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);
printf("no input\n");
return 0;
}
}
break;
}
}
} else {
printf("bad input\n");
printf("no input\n");
return 0;
}
}