➤ Hello World! in C++
➤ Print Number in C++
➤ Add 2 Numbers C++
➤ Arithmetic Operation
➤ Sum Avg of 3 Number
➤ Area Program in C++
➤ Simple Interest in C++
➤ Find ASCII value in C++
➤ Swap 2 Number in C++
Flow Control Programs
➤ Even-Odd in C++
➤ +ve, -ve, 0 in C++
➤ Vowel-Consonant
➤ Greatest of 3 no.
➤ Check Leap Year
➤ Calculator Program
➤ Reverse a Number
➤ Sum of Natural Number
➤ GCD of 2 Number
➤ LCM of 2 Number
➤ Find Power in C++
➤ Fibonacci Series in C++
➤ Palindrome Number
➤ Find Factorial in C++
➤ Factorial Using Recursion
➤ Prime Number in C++
➤ Prime Number b/w 1-N
Array
➤ Linear Search in C++
➤ Binary Search in C++
Others
➤ Introduction to C++
➤ Data Types in C++
➤ Range of Data Types
➤ Void main, main vs int main
In this post, we will develop a calculator program in C++, which asks two numbers and operators from the end-user and display the result. It will perform addition, subtraction, multiplication, and division operations based on the operator end-user entered.
// C++ Program to create a Simple Calculator
// Using switch-case statement
#include<iostream>
using namespace std;
int main()
{
// declare variables
char c;
float num1, num2;
// take input for operator
cout << "Enter an Operator (+, -, *, /): ";
cin >> c;
// take numbers input
cout << "Enter two Numbers:";
cin >> num1 >> num2;
switch(c)
{
case '+':
cout << num1 << " + " << num2 << " = " << num1+num2 << endl;
break;
case '-':
cout << num1 << " - " << num2 << " = " << num1-num2 << endl;
break;
case '*':
cout << num1 << " * " << num2 << " = " << num1*num2 << endl;
break;
case '/':
cout << num1 << " / " << num2 << " = " << num1/num2 << endl;
break;
default:
cout << "Error! Invalid Operator" << endl;
}
return 0;
}
Output for the different test-case:-
Enter an Operator (+, -, *, /): +
Enter two Numbers:20
10
20 + 10 = 30
Enter an Operator (+, -, *, /): –
Enter two Numbers:20
10
20 – 10 = 10
Enter an Operator (+, -, *, /): *
Enter two Numbers:20
10
20 * 10 = 200
Enter an Operator (+, -, *, /): /
Enter two Numbers:20
10
20 / 10 = 2
Enter an Operator (+, -, *, /): %
Enter two Numbers:10
5
Error! Invalid Operator
Menu-driven Calculator Program in C++ Using Function
When compiler encounters exit(0) then control came out from the program. This program will keep executing until the user does not choose the exit option. Here, the do-while loop is used to execute the same logic multiple times.
// Manu driven Calculator Program in C++
// using function
#include<iostream>
using namespace std;
// function declaration
double add(double, double);
double subtract(double, double);
double multiply(double, double);
double divide(double, double);
void display(double, double, double, char);
// main function
int main()
{
// declare variables
double num1, num2;
int choice;
char ch;
do{
// take inputs from end-user
cout << "Enter two Numbers : ";
cin >> num1 >> num2;
// Menu to choose operation
cout << "1. Addition" << endl;
cout << "2. Subtraction" << endl;
cout << "3. Multiplication" << endl;
cout << "4. Division" << endl;
cout << "5. Exit" << endl;
// take input for operation
cout << "Enter your choice : ";
cin >> choice;
switch(choice)
{
case 1:
cout << "Result = " << add(num1, num2) << endl;
break;
case 2:
cout << "Result = " << subtract(num1, num2) << endl;
break;
case 3:
cout << "Result = " << multiply(num1, num2) << endl;
break;
case 4:
cout << "Result = " << divide(num1, num2) << endl;
break;
case 5:
cout << "Thank You." << endl;
exit(0);
default:
cout << "Error! Invalid Operator" << endl;
}
cout << "Do you want to continue? Y/N :: " ;
cin >> ch;
cout << "-----------------------------" << endl;
} while(ch == 'Y');
cout << "Thank You." << endl;
return 0;
}
// function to calculate Addition
double add(double n1, double n2)
{
return n1 + n2;
}
// function to calculate Subtraction
double subtract(double n1, double n2)
{
return n1 - n2;
}
// function to calculate Multiplication
double multiply(double n1, double n2)
{
return n1 * n2;
}
// function to calculate Division
double divide(double n1, double n2)
{
return n1 / n2;
}
Output for test-case-1:-
Enter two Numbers: 10 20
1. Addition
2. Subtraction
3. Multiplication
4. Division
5. Exit
Enter your choice: 1
Result = 30
Do you want to continue? Y/N:: Y
—————————–
Enter two Numbers: 20 15
1. Addition
2. Subtraction
3. Multiplication
4. Division
5. Exit
Enter your choice: 2
Result = 5
Do you want to continue? Y/N:: Y
—————————–
Enter two Numbers: 5 2
1. Addition
2. Subtraction
3. Multiplication
4. Division
5. Exit
Enter your choice : 3
Result = 10
Do you want to continue? Y/N:: Y
—————————–
Enter two Numbers: 50 12
1. Addition
2. Subtraction
3. Multiplication
4. Division
5. Exit
Enter your choice: 4
Result = 4.16667
Do you want to continue? Y/N:: Y
—————————–
Enter two Numbers: 5 2
1. Addition
2. Subtraction
3. Multiplication
4. Division
5. Exit
Enter your choice: 6
Error! Invalid Operator
Do you want to continue? Y/N:: N
—————————–
Thank You.
Output for test-case-2:-
Enter two Numbers: 5 2
1. Addition
2. Subtraction
3. Multiplication
4. Division
5. Exit
Enter your choice: 5
Thank You.
If you enjoyed this post, share it with your friends. Do you want to share more information about the topic discussed above or do you find anything incorrect? Let us know in the comments. Thank you!