2025-10-20 21:05:54 +02:00

54 lines
1020 B
C

#include <limits.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main() {
printf("Zadejte vzorec:\n");
double num1, num2;
char op;
char equal_sign;
if (scanf("%lf %c %lf %c", &num1, &op, &num2, &equal_sign) != 4 || equal_sign != '=') {
printf("Nespravny vstup.\n");
return EXIT_FAILURE;
}
if (op != '+' && op != '-' && op != '*' && op != '/') {
printf("Nespravny vstup.\n");
return EXIT_FAILURE;
}
if (op == '/' && num2 == 0) {
printf("Nespravny vstup.\n");
return EXIT_FAILURE;
}
double result = 0;
switch (op) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
if (result < 0) {
result = ceil(num1 / num2);
} else {
result = floor(num1 / num2);
}
break;
}
if (fabs(result - (int)result) < 1e-9) {
printf("%ld\n", (long)result);
} else {
printf("%.12g\n", result);
}
}