/******************************************************************************
Welcome to GDB Online.
GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP,
Ruby, Perl,
C#, OCaml, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS,
JS, SQLite, Prolog.
Code, Compile, Run and Debug online from anywhere in world.
*******************************************************************************/
#include <stdio.h>
double add(double num1, double num2) {
return num1 + num2;
}
double subtract(double num1, double num2) {
return num1 - num2;
}
double multiply(double num1, double num2) {
return num1 * num2;
}
double divide(double num1, double num2) {
if (num2 != 0) {
return num1 / num2;
} else {
printf("Error! Division by zero is not allowed.\n");
return 0;
}
}
int main() {
double num1, num2, result;
char operator;
char choice = 'y';
while (choice == 'y' || choice == 'Y') {
printf("Enter an operator (+, -, *, /): ");
scanf(" %c", &operator);
printf("Enter two numbers: ");
scanf("%lf %lf", &num1, &num2);
switch (operator) {
case '+':
result = add(num1, num2);
printf("Result: %.2lf + %.2lf = %.2lf\n", num1, num2, result);
break;
case '-':
result = subtract(num1, num2);
printf("Result: %.2lf - %.2lf = %.2lf\n", num1, num2, result);
break;
case '*':
result = multiply(num1, num2);
printf("Result: %.2lf * %.2lf = %.2lf\n", num1, num2, result);
break;
case '/':
result = divide(num1, num2);
if (num2 != 0) {
printf("Result: %.2lf / %.2lf = %.2lf\n", num1, num2, result);
}
break;
default:
printf("Error! Invalid operator.\n");
break;
}
printf("Do you want to perform another calculation? (y/n): ");
scanf(" %c", &choice);
}
printf("Exiting the calculator. Thank you!\n");
return 0;
}