Categories

# Simple Calculator using switch Statement

This program takes an arithmetic operator `+, -, *, /` and two operands from the user. Then, it performs the calculation on the two operands depending upon the operator entered by the user.

## Simple Calculator using switch Statement

``````#include <stdio.h>
int main() {
char op;
double first, second;
printf("Enter an operator (+, -, *, /): ");
scanf("%c", &op);
printf("Enter two operands: ");
scanf("%lf %lf", &first, &second);

switch (op) {
case '+':
printf("%.1lf + %.1lf = %.1lf", first, second, first + second);
break;
case '-':
printf("%.1lf - %.1lf = %.1lf", first, second, first - second);
break;
case '*':
printf("%.1lf * %.1lf = %.1lf", first, second, first * second);
break;
case '/':
printf("%.1lf / %.1lf = %.1lf", first, second, first / second);
break;
// operator doesn't match any case constant
default:
printf("Error! operator is not correct");
}

return 0;
}
``````

Output

```Enter an operator (+, -, *,): *
Enter two operands: 1.5
4.5
1.5 * 4.5 = 6.8
```

The `*` operator entered by the user is stored in op. And, the two operands, `1.5` and `4.5` are stored in first and second respectively.

Since the operator `*` matches `case '*':`, the control of the program jumps to

``````printf("%.1lf * %.1lf = %.1lf", first, second, first * second);
``````

This statement calculates the product and displays it on the screen.

To make our output look cleaner, we have simply limited the output to one decimal place using the code `%.1lf`.

Finally, the `break;` statement ends the `switch` statement.