From 70dcf07a46dab0836a5f9a3d147c54f2adca1b5a Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 4 Nov 2025 13:36:59 +0000 Subject: [PATCH 1/2] Transform simple loop into functional calculator program - Replace basic 'Holberton' print loop with interactive calculator - Add support for +, -, *, / operations - Include error handling for division by zero - Fix missing stdio.h header - Use double precision for accurate calculations --- main.c | 46 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) diff --git a/main.c b/main.c index c28a37be..e6b3c1e1 100644 --- a/main.c +++ b/main.c @@ -1,9 +1,49 @@ +#include + int main() { - int i; - for (i = 0; i < 10; i++) + char operator; + double num1, num2, result; + + printf("Simple Calculator\n"); + printf("=================\n"); + printf("Enter an operation (+, -, *, /): "); + scanf(" %c", &operator); + + printf("Enter first number: "); + scanf("%lf", &num1); + + printf("Enter second number: "); + scanf("%lf", &num2); + + switch (operator) { - printf("Holberton\n"); + case '+': + result = num1 + num2; + printf("%.2f + %.2f = %.2f\n", num1, num2, result); + break; + case '-': + result = num1 - num2; + printf("%.2f - %.2f = %.2f\n", num1, num2, result); + break; + case '*': + result = num1 * num2; + printf("%.2f * %.2f = %.2f\n", num1, num2, result); + break; + case '/': + if (num2 != 0) + { + result = num1 / num2; + printf("%.2f / %.2f = %.2f\n", num1, num2, result); + } + else + { + printf("Error: Division by zero!\n"); + } + break; + default: + printf("Error: Invalid operator!\n"); } + return 0; } From 6a2976b5734c3f8f7753e0c4e4651711aa14daba Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 4 Nov 2025 13:41:08 +0000 Subject: [PATCH 2/2] Add .gitignore to exclude compiled binaries - Ignore calculator executable - Ignore common C compilation artifacts (*.o, *.out) --- .gitignore | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..90c16e63 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +# Compiled binaries +calculator + +# Object files +*.o +*.out + +# Executable +a.out