test
This commit is contained in:
parent
001a0c32c5
commit
fa206f68ea
@ -1,6 +1,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
#define MAX_VELKOST 10
|
#define MAX_VELKOST 10
|
||||||
|
|
||||||
@ -72,6 +73,12 @@ void zobraz_zasobnik(KalkulackaZasobnik *kalkulacka) {
|
|||||||
printf("\n");
|
printf("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool je_platny_vstup(const char *vstup) {
|
||||||
|
char *endptr;
|
||||||
|
strtof(vstup, &endptr);
|
||||||
|
return endptr != vstup && *endptr == '\n';
|
||||||
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
KalkulackaZasobnik kalkulacka;
|
KalkulackaZasobnik kalkulacka;
|
||||||
inicializuj(&kalkulacka);
|
inicializuj(&kalkulacka);
|
||||||
@ -87,7 +94,8 @@ int main() {
|
|||||||
float hodnota;
|
float hodnota;
|
||||||
char operacia;
|
char operacia;
|
||||||
|
|
||||||
if (sscanf(vstup, "%f", &hodnota) == 1) {
|
if (je_platny_vstup(vstup)) {
|
||||||
|
sscanf(vstup, "%f", &hodnota);
|
||||||
if (vloz(&kalkulacka, hodnota)) {
|
if (vloz(&kalkulacka, hodnota)) {
|
||||||
zobraz_zasobnik(&kalkulacka);
|
zobraz_zasobnik(&kalkulacka);
|
||||||
}
|
}
|
||||||
@ -98,7 +106,6 @@ int main() {
|
|||||||
zobraz_zasobnik(&kalkulacka);
|
zobraz_zasobnik(&kalkulacka);
|
||||||
} else {
|
} else {
|
||||||
printf("no input\n");
|
printf("no input\n");
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case '-':
|
case '-':
|
||||||
@ -106,7 +113,6 @@ int main() {
|
|||||||
zobraz_zasobnik(&kalkulacka);
|
zobraz_zasobnik(&kalkulacka);
|
||||||
} else {
|
} else {
|
||||||
printf("no input\n");
|
printf("no input\n");
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case '*':
|
case '*':
|
||||||
@ -114,7 +120,6 @@ int main() {
|
|||||||
zobraz_zasobnik(&kalkulacka);
|
zobraz_zasobnik(&kalkulacka);
|
||||||
} else {
|
} else {
|
||||||
printf("no input\n");
|
printf("no input\n");
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case '/': {
|
case '/': {
|
||||||
@ -122,26 +127,21 @@ int main() {
|
|||||||
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 0;
|
|
||||||
} else {
|
} else {
|
||||||
vloz(&kalkulacka, b / a);
|
vloz(&kalkulacka, b / a);
|
||||||
zobraz_zasobnik(&kalkulacka);
|
zobraz_zasobnik(&kalkulacka);
|
||||||
printf("no input\n");
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
printf("no input\n");
|
printf("no input\n");
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
printf("bad input\n");
|
printf("bad input\n");
|
||||||
return 0;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
printf("bad input\n");
|
printf("bad input\n");
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user