This commit is contained in:
Weber 2024-10-14 12:44:18 +00:00
parent c56e6d6189
commit aece94685d

View File

@ -58,7 +58,7 @@ bool delit(KalkulackaZasobnik *kalkulacka) {
float a, b;
if (vyber(kalkulacka, &a, &b)) {
if (a == 0) {
return false; // Pokud je dělitel nula, vrátíme false
return false; // Ak je dělitel nula, vrátíme false
}
return vloz(kalkulacka, b / a);
}
@ -76,6 +76,7 @@ int main() {
KalkulackaZasobnik kalkulacka;
inicializuj(&kalkulacka);
char vstup[100];
bool boloVlozene = false; // Flag na kontrolu, či bolo vložené číslo
while (true) {
fgets(vstup, sizeof(vstup), stdin);
@ -90,33 +91,29 @@ int main() {
if (sscanf(vstup, "%f", &hodnota) == 1) {
if (vloz(&kalkulacka, hodnota)) {
zobraz_zasobnik(&kalkulacka);
boloVlozene = true;
}
} else if (sscanf(vstup, "%c", &operacia) == 1) {
switch (operacia) {
case '+':
if (scitat(&kalkulacka)) {
zobraz_zasobnik(&kalkulacka);
} else {
printf("no input\n");
}
break;
case '-':
if (odcitat(&kalkulacka)) {
zobraz_zasobnik(&kalkulacka);
} else {
printf("no input\n");
}
break;
case '*':
if (nasobit(&kalkulacka)) {
zobraz_zasobnik(&kalkulacka);
} else {
printf("no input\n");
}
break;
case '/':
if (!delit(&kalkulacka)) {
printf("division by zero\n"); // Správně vypiš chybu
printf("division by zero\n");
return 0;
} else {
zobraz_zasobnik(&kalkulacka);
}
@ -130,5 +127,9 @@ int main() {
}
}
if (!boloVlozene) {
printf("no input\n");
}
return 0;
}