This commit is contained in:
Weber 2024-10-14 12:25:31 +00:00
parent 6ba36d2bc9
commit 2b413738cd

View File

@ -59,7 +59,7 @@ bool delit(KalkulackaZasobnik *kalkulacka) {
if (vyber(kalkulacka, &a, &b)) { if (vyber(kalkulacka, &a, &b)) {
if (a == 0) { if (a == 0) {
printf("division by zero\n"); printf("division by zero\n");
return false; return false;
} }
return vloz(kalkulacka, b / a); return vloz(kalkulacka, b / a);
} }
@ -77,13 +77,12 @@ int main() {
KalkulackaZasobnik kalkulacka; KalkulackaZasobnik kalkulacka;
inicializuj(&kalkulacka); inicializuj(&kalkulacka);
char vstup[100]; char vstup[100];
bool nejakeVlozenie = false;
while (true) { while (true) {
fgets(vstup, sizeof(vstup), stdin); fgets(vstup, sizeof(vstup), stdin);
if (vstup[0] == '\n') { if (vstup[0] == '\n') {
break; break;
} }
float hodnota; float hodnota;
@ -92,42 +91,54 @@ int main() {
if (sscanf(vstup, "%f", &hodnota) == 1) { if (sscanf(vstup, "%f", &hodnota) == 1) {
if (vloz(&kalkulacka, hodnota)) { if (vloz(&kalkulacka, hodnota)) {
zobraz_zasobnik(&kalkulacka); zobraz_zasobnik(&kalkulacka);
nejakeVlozenie = true;
} }
} else if (sscanf(vstup, "%c", &operacia) == 1) { } else if (sscanf(vstup, "%c", &operacia) == 1) {
switch (operacia) { switch (operacia) {
case '+': case '+':
if (scitat(&kalkulacka)) { if (scitat(&kalkulacka)) {
zobraz_zasobnik(&kalkulacka); zobraz_zasobnik(&kalkulacka);
} else {
printf("no input\n");
return 0;
} }
break; break;
case '-': case '-':
if (odcitat(&kalkulacka)) { if (odcitat(&kalkulacka)) {
zobraz_zasobnik(&kalkulacka); zobraz_zasobnik(&kalkulacka);
} else {
printf("no input\n");
return 0;
} }
break; break;
case '*': case '*':
if (nasobit(&kalkulacka)) { if (nasobit(&kalkulacka)) {
zobraz_zasobnik(&kalkulacka); zobraz_zasobnik(&kalkulacka);
} else {
printf("no input\n");
return 0;
} }
break; break;
case '/': case '/':
if (!delit(&kalkulacka)) { if (!delit(&kalkulacka)) {
} else { if (delit==false){
zobraz_zasobnik(&kalkulacka); printf("divison by zero\n");
return 0;
}
printf("no input\n");
return 0;
} }
zobraz_zasobnik(&kalkulacka);
break; break;
default: default:
printf("no input\n");
return 0; return 0;
} }
} else { } else {
printf("no input\n");
return 0; return 0;
} }
} }
if (!nejakeVlozenie) { printf("no input\n");
printf("no input\n");
}
return 0; return 0;
} }