Basic Calculator in C++
C++ switch calculator: + - * /. Forget break and + falls into -. Guard / 0.
BeginnerLoop ProgramsExample 14 of 14
basic-calculator.cpp
1#include <iostream>2using namespace std;34int main() {5 char op;6 double num1, num2, result;78 cout << "Enter operator (+, -, *, /): ";9 cin >> op;1011 cout << "Enter two numbers: ";12 cin >> num1 >> num2;1314 switch(op) {15 case '+':16 result = num1 + num2;17 break;18 case '-':19 result = num1 - num2;20 break;21 case '*':22 result = num1 * num2;23 break;24 case '/':25 if (num2 != 0) {26 result = num1 / num2;27 } else {28 cout << "Error: Division by zero!" << endl;29 return 1;30 }31 break;32 default:33 cout << "Error: Invalid operator!" << endl;34 return 1;35 }3637 cout << num1 << " " << op << " " << num2 << " = " << result << endl;3839 return 0;40}
Output
Enter operator (+, -, *, /): * Enter two numbers: 5 4 5 * 4 = 20
What's going on
A tiny C++ calculator: one operator, two numbers, switch. Sample * 5 4 → 5 * 4 = 20.
char op;
double num1, num2, result;
double so 7 / 2 is 3.5, not 3.
cin >> op;
cin >> num1 >> num2;
switch(op) picks a branch by the character.
case '+': add, break;
case '-': subtract, break;
case '*': multiply, break;
case '/': if num2 != 0 divide, else print Error: Division by zero! and return 1.
default: invalid operator, return 1.
Forget break and + falls into - (switch fall-through). That's the bug this program exists to teach.
^ is not power. Type ^ and you hit default.
After a successful case, print num1 op num2 = result.