
A simple C program that uses functions to create a basic calculator that can perform addition, subtraction, multiplication, and division
#include <stdio.h>
// Function prototypes
void add();
void subtract();
void multiply();
void divide();
int main() {
int choice;
do {
printf("\nSimple Calculator\n");
printf("1. Addition\n");
printf("2. Subtraction\n");
printf("3. Multiplication\n");
printf("4. Division\n");
printf("5. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
add();
break;
case 2:
subtract();
break;
case 3:
multiply();
break;
case 4:
divide();
break;
case 5:
printf("Exiting...\n");
break;
default:
printf("Invalid choice. Please try again.\n");
}
} while (choice != 5);
return 0;
}
// Function definitions
void add() {
double num1, num2;
printf("Enter two numbers: ");
scanf("%lf %lf", &num1, &num2);
printf("Result: %.2lf\n", num1 + num2);
}
void subtract() {
double num1, num2;
printf("Enter two numbers: ");
scanf("%lf %lf", &num1, &num2);
printf("Result: %.2lf\n", num1 - num2);
}
void multiply() {
double num1, num2;
printf("Enter two numbers: ");
scanf("%lf %lf", &num1, &num2);
printf("Result: %.2lf\n", num1 * num2);
}
void divide() {
double num1, num2;
printf("Enter two numbers: ");
scanf("%lf %lf", &num1, &num2);
if (num2 != 0) {
printf("Result: %.2lf\n", num1 / num2);
} else {
printf("Error: Division by zero is not allowed.\n");
}
}
add, subtract, multiply, and divide are declared at the beginning.switch statement. The menu repeats until the user chooses to exit (choice 5).add, subtract, multiply, divide) prompts the user for two numbers, performs the operation, and displays the result. The division function includes a check to prevent division by zero.Another Way
simple calculator program that uses a single function to handle all the arithmetic operations. This approach reduces redundancy and makes the code more modular.
#include <stdio.h>
// Function prototypes
void performOperation(char operation);
int main() {
int choice;
do {
printf("\nSimple Calculator\n");
printf("1. Addition\n");
printf("2. Subtraction\n");
printf("3. Multiplication\n");
printf("4. Division\n");
printf("5. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
performOperation('+');
break;
case 2:
performOperation('-');
break;
case 3:
performOperation('*');
break;
case 4:
performOperation('/');
break;
case 5:
printf("Exiting...\n");
break;
default:
printf("Invalid choice. Please try again.\n");
}
} while (choice != 5);
return 0;
}
// Function definition
void performOperation(char operation) {
double num1, num2, result;
printf("Enter two numbers: ");
scanf("%lf %lf", &num1, &num2);
switch (operation) {
case '+':
result = num1 + num2;
printf("Result: %.2lf\n", result);
break;
case '-':
result = num1 - num2;
printf("Result: %.2lf\n", result);
break;
case '*':
result = num1 * num2;
printf("Result: %.2lf\n", result);
break;
case '/':
if (num2 != 0) {
result = num1 / num2;
printf("Result: %.2lf\n", result);
} else {
printf("Error: Division by zero is not allowed.\n");
}
break;
default:
printf("Invalid operation.\n");
}
}
performOperation is declared at the beginning.performOperation with the appropriate operation character based on the user's choice. The menu repeats until the user chooses to exit (choice 5).operation) as an argument, which specifies the arithmetic operation to perform. It prompts the user for two numbers, performs the specified operation, and displays the result. The division operation includes a check to prevent division by zero.