bug fixes
This commit is contained in:
parent
a663a88378
commit
d047ae01b3
10
main.c
10
main.c
@ -17,17 +17,17 @@ char* manipulate_str(double input);
|
|||||||
|
|
||||||
int main(const int argc, char *argv[]) {
|
int main(const int argc, char *argv[]) {
|
||||||
const double res = calculate(parse_input(argc, argv));
|
const double res = calculate(parse_input(argc, argv));
|
||||||
//manipulate string by cutting of trailing zeros
|
|
||||||
char* final_string = manipulate_str(res);
|
|
||||||
|
|
||||||
|
char* final_string = manipulate_str(res);
|
||||||
printf("%s %s %s = %s\n", argv[1], argv[2], argv[3], final_string);
|
printf("%s %s %s = %s\n", argv[1], argv[2], argv[3], final_string);
|
||||||
|
|
||||||
free(final_string);
|
free(final_string);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
CalcStr parse_input(const int n, char *argv[]) {
|
CalcStr parse_input(const int n, char *argv[]) {
|
||||||
if (n < 4) {
|
if (n < 4) {
|
||||||
perror("Insuficient arguments (3 are required), exiting");
|
fprintf(stderr, "Insuficient arguments (3 are required), exiting...\n");
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,7 +63,7 @@ double calculate(const CalcStr calc) {
|
|||||||
return calc.first + calc.second;
|
return calc.first + calc.second;
|
||||||
case '-':
|
case '-':
|
||||||
return calc.first - calc.second;
|
return calc.first - calc.second;
|
||||||
case '*':
|
case 'x':
|
||||||
return calc.first * calc.second;
|
return calc.first * calc.second;
|
||||||
case '/':
|
case '/':
|
||||||
return calc.first / calc.second;
|
return calc.first / calc.second;
|
||||||
@ -77,7 +77,7 @@ double calculate(const CalcStr calc) {
|
|||||||
|
|
||||||
return r;
|
return r;
|
||||||
default:
|
default:
|
||||||
perror("Invalid operand type");
|
fprintf(stderr, "Invalid operand type\n");
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user