diff --git a/cv3/program.c b/cv3/program.c index 26c66d8..e4c5a4c 100644 --- a/cv3/program.c +++ b/cv3/program.c @@ -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; }