Calculator
A beginner-friendly C project where you’ll learn to build a Calculator using switch and functions. Covers input handling, operator-based execution, and error fixing - everything explained clearly in Bangla. First example code without while #include <stdio.h> /// Function prototypes float add(float a, float b); float subtract(float a, float b); float multiply(float a, float b); float divide(float a, float b); int main() { float a, b, result; char op; printf("Enter a:"); scanf("%f",&a); printf("Enter b:"); scanf("%f",&b); printf("Choose operation(+, -, *, /):"); scanf(" %c", &op); switch (op) { case '+': result = add(a, b); break; case '-': result = subtract(a,b); break; case '*': result = multiply(a,b); break; case '/': result = divide(a,b); break; } printf("%.2f %c %.2f = %.2f\n", a, op, b, result); return 0; } float add(float a, float b){ return a + b; } float subtract(float a, float b){ return a - b; } float multiply(float a, float b){ return a * b; } float divide(float a, float b){ return a /b; } Validate number(float) if(scanf("%f",&a) != 1){ printf("Invalid input\n"); return 0; } validate operator if (op != '+' && op != '-' && op != '*' && op != '/'){ printf("Invalid operation\n"); return 0; } Final code #include <stdio.h> // Function prototypes float add(float a, float b); float subtract(float a, float b); float multiply(float a, float b); float divide(float a, float b); int main() { float num1, num2, result; char op; while (1) { // Input numbers printf("Enter first number: "); scanf("%f", &num1); printf("Enter second number: "); scanf("%f", &num2); // Display menu printf("\nChoose operation (+, -, *, /, = to exit): "); scanf(" %c", &op); // space before %c to skip whitespace if (op == 'q') { printf("Exiting program.\n"); break; } switch (op) { case '+': result = add(num1, num2); printf("Result: %.2f\n", result); break; case '-': result = subtract(num1, num2); printf("Result: %.2f\n", result); break; case '*': result = multiply(num1, num2); printf("Result: %.2f\n", result); break; case '/': if (num2 != 0) { result = divide(num1, num2); printf("Result: %.2f\n", result); } else { printf("Error: Division by zero!\n"); } break; default: printf("Invalid operation! Try again.\n"); } printf("\n"); // Extra line before next iteration } return 0; } // Function definitions float add(float a, float b) { return a + b; } float subtract(float a, float b) { return a - b; } float multiply(float a, float b) { return a * b; } float divide(float a, float b) { return a / b; }