test
This commit is contained in:
parent
cbcce07cc6
commit
94b2f80db7
@ -58,7 +58,7 @@ bool delit(KalkulackaZasobnik *kalkulacka) {
|
||||
float a, b;
|
||||
if (vyber(kalkulacka, &a, &b)) {
|
||||
if (a == 0) {
|
||||
return false; // Delenie nulou
|
||||
return false;
|
||||
}
|
||||
return vloz(kalkulacka, b / a);
|
||||
}
|
||||
@ -72,6 +72,10 @@ void zobraz_zasobnik(KalkulackaZasobnik *kalkulacka) {
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
bool je_platna_operacia(char operacia) {
|
||||
return operacia == '+' || operacia == '-' || operacia == '*' || operacia == '/';
|
||||
}
|
||||
|
||||
int main() {
|
||||
KalkulackaZasobnik kalkulacka;
|
||||
inicializuj(&kalkulacka);
|
||||
@ -92,6 +96,10 @@ int main() {
|
||||
zobraz_zasobnik(&kalkulacka);
|
||||
}
|
||||
} else if (sscanf(vstup, "%c", &operacia) == 1) {
|
||||
if (!je_platna_operacia(operacia)) {
|
||||
printf("bad input\n");
|
||||
return 0;
|
||||
}
|
||||
switch (operacia) {
|
||||
case '+':
|
||||
if (scitat(&kalkulacka)) {
|
||||
@ -117,31 +125,16 @@ int main() {
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case '/': {
|
||||
float a, b;
|
||||
if (vyber(&kalkulacka, &a, &b)) {
|
||||
if (a == 0) {
|
||||
case '/':
|
||||
if (!delit(&kalkulacka)) {
|
||||
printf("division by zero\n");
|
||||
return 0;
|
||||
} else {
|
||||
vloz(&kalkulacka, b / a);
|
||||
}
|
||||
zobraz_zasobnik(&kalkulacka);
|
||||
printf("no input\n");
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
printf("no input\n");
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
printf("bad input\n");
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
zobraz_zasobnik(&kalkulacka);
|
||||
printf("bad input\n");
|
||||
printf("no input\n");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user