From d047ae01b33d6780db124075f6248430ab8ee502 Mon Sep 17 00:00:00 2001 From: Marto Date: Sun, 12 Jan 2025 22:51:09 +0100 Subject: [PATCH] bug fixes --- main.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/main.c b/main.c index 3ca303f..0badbd9 100644 --- a/main.c +++ b/main.c @@ -17,17 +17,17 @@ char* manipulate_str(double input); int main(const int argc, char *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); + free(final_string); return 0; } CalcStr parse_input(const int n, char *argv[]) { if (n < 4) { - perror("Insuficient arguments (3 are required), exiting"); + fprintf(stderr, "Insuficient arguments (3 are required), exiting...\n"); exit(EXIT_FAILURE); } @@ -63,7 +63,7 @@ double calculate(const CalcStr calc) { return calc.first + calc.second; case '-': return calc.first - calc.second; - case '*': + case 'x': return calc.first * calc.second; case '/': return calc.first / calc.second; @@ -77,7 +77,7 @@ double calculate(const CalcStr calc) { return r; default: - perror("Invalid operand type"); + fprintf(stderr, "Invalid operand type\n"); exit(EXIT_FAILURE); } }