Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Develop a simple calculator program that reads two positive integer numbers a &

ID: 3576566 • Letter: D

Question

Develop a simple calculator program that reads two positive integer numbers a & b and then prompts the user to enter an operation char as follows: Calculator operations: Enter A for addition (a + b) S for subtraction (a-b) M for multiplication (a*b) D for division (a/b) R for remainder (a%b) F for factorial of the absolute difference between a and b W for the power of a to b Q for square root of average E for sum of even numbers in range O. for sum of odd numbers in range P for sum of prime numbers in range V for reversing digits of the larger of a and b (ex: 654 reverses to 456) X for exit

Explanation / Answer

#include<iostream>
#include<stdlib.h>
#include<math.h>
using namespace std;
int main()
{
int a, b, diff, f = 0, rev = 0, ori;
long int fa;
char ch;
//Loops till 'X' or 'x' is entered by the user
do
{
//Menu for the user
cout<<" Calculator Operations ";
cout<<" _____________________________________________ ";
cout<<" Enter A for addition (a + b) ";
cout<<" S for Subtraction (a - b) ";
cout<<" M for Multiplication (a * b) ";
cout<<" D for Division (a / b) ";
cout<<" R for Remainder (a % b) ";
cout<<" F for Factorial of the absolute difference between a and b ";
cout<<" W for power of a to b ";
cout<<" Q for power square root of average ";
cout<<" E for sum of even numbers in range ";
cout<<" O for sum of odd numbers in range ";
cout<<" P for sum of prime numbers in range ";
cout<<" V for reverse digits of the larger of a and b (Ex: 654 reverses to 456) ";
cout<<" X to exit ";
//Accept choice from the user
cout<<" Enter your Choice: ";
cin>>ch;
//Switch to select appropriate choice
switch(ch)
{
//Addition
case 'A': case 'a':
//Accept two numbers
cout<<" Enter First number: ";
cin>>a;
cout<<" Enter Second number: ";
cin>>b;
//Displays the result
cout<<" ( "<<a<<" + "<<b<<" ) = "<<(a + b);
break;
//Subtraction
case 'S': case 's':
//Accept two numbers
cout<<" Enter First number: ";
cin>>a;
cout<<" Enter Second number: ";
cin>>b;
//Displays the result
cout<<" ( "<<a<<" - "<<b<<" ) = "<<(a - b);
break;
//Multiplication
case 'M': case 'm':
//Accept two numbers
cout<<" Enter First number: ";
cin>>a;
cout<<" Enter Second number: ";
cin>>b;
//Displays the result
cout<<" ( "<<a<<" * "<<b<<" ) = "<<(a * b);
break;
//Division
case 'D': case 'd':
//Accept two numbers
cout<<" Enter First number: ";
cin>>a;
cout<<" Enter Second number: ";
cin>>b;
//Displays the result
cout<<" ( "<<a<<" / "<<b<<" ) = "<<(a / b);
break;
//Remainder
case 'R': case 'r':
//Accept two numbers
cout<<" Enter First number: ";
cin>>a;
cout<<" Enter Second number: ";
cin>>b;
//Displays the result
cout<<" ( "<<a<<" % "<<b<<" ) = "<<(a % b);
break;
//Factorial
case 'F': case 'f':
//Accept two numbers
cout<<" Enter First number: ";
cin>>a;
cout<<" Enter Second number: ";
cin>>b;
//Find out the absolute value of the difference
diff = abs(a - b);
fa = 1;
//Calculates factorial
for(int c = 1; c <= diff; c++)
fa *= c;
//Displays the result
cout<<" Factorial of "<<diff<<" = "<<fa;
break;
//Power
case 'W': case 'w':
//Accept two numbers
cout<<" Enter First number: ";
cin>>a;
cout<<" Enter Second number: ";
cin>>b;
//Displays the result
cout<<" ( "<<a<<" Power "<<b<<" ) = "<<pow(a, b);
break;
case 'Q': case 'q':
//Accept two numbers
cout<<" Enter First number: ";
cin>>a;
cout<<" Enter Second number: ";
cin>>b;
//Calculates the average
diff = (a + b) / 2;
//Displays the result
cout<<" Square rot of "<<diff<<" = "<<sqrt(diff);
break;
//Even numbers in range
case 'E': case 'e':
//Accept two numbers
cout<<" Enter First number: ";
cin>>a;
cout<<" Enter Second number: ";
cin>>b;
//Find out even numbers
for(int c = a; c <= b; c++)
//If the number is divisible by 2 it is even
if(c % 2 == 0)
//Displays the result
cout<<" Even = "<<c;
break;
//Odd numbers in range
case 'O': case 'o':
//Accept two numbers
cout<<" Enter First number: ";
cin>>a;
cout<<" Enter Second number: ";
cin>>b;
//Find out odd numbers
for(int c = a; c <= b; c++)
//If the number is not divisible by 2 it is even
if(c % 2 != 0)
//Displays the result
cout<<" Odd = "<<c;
break;
//Prime numbers in range
case 'P': case 'p':
//Accept two numbers
cout<<" Enter First number: ";
cin>>a;
cout<<" Enter Second number: ";
cin>>b;
//Flag is set to 0 for prime
f = 0;
//Loops from a to b
for(int c = a; c <= b; c++)
{
//Loops from 2 to the number
for(int d = 2; d < c; d++)
{
//Checks for the divisibility
if(c % d == 0)
{
//If divisible reset the flag f to 1 for not prime
f = 1;
//Come out of the loop
break;
}
}
//Check the flag f status if it is 0 it ls not divisible by any number so prime
if(f == 0)
cout<<" Prime = "<<c;
//Otherwise reset the flag f to 0 for the next number
else
f = 0;
}
break;
//Revers digits of the largest number of a and b
case 'V': case 'v':
//Accept two numbers
cout<<" Enter First number: ";
cin>>a;
cout<<" Enter Second number: ";
cin>>b;
//Find out the biggest number
diff = (a > b) ? a : b;
//Keep a copy as original number
ori = diff;
//Loops till number is not zero
while(diff != 0)
{
//Calculates the reverse
rev = rev * 10 + diff % 10;
diff /= 10;
}
//Displays the result
cout<<" Reverse of "<<ori<<" = "<<rev;
break;
//Exit
case 'X': case 'x':
cout<<" Thank You ";
exit(0);
default:
cout<<"Error: Invalid Choice!";
}
}while(1);
}

Output:

Calculator Operations
_____________________________________________

Enter A for addition (a + b)
S for Subtraction (a - b)
M for Multiplication (a * b)
D for Division (a / b)
R for Remainder (a % b)
F for Factorial of the absolute difference between a and b
W for power of a to b
Q for power square root of average
E for sum of even numbers in range
O for sum of odd numbers in range
P for sum of prime numbers in range
V for reverse digits of the larger of a and b (Ex: 654 reverses to 456)
X to exit

Enter your Choice: t
Error: Invalid Choice!
Calculator Operations
_____________________________________________

Enter A for addition (a + b)
S for Subtraction (a - b)
M for Multiplication (a * b)
D for Division (a / b)
R for Remainder (a % b)
F for Factorial of the absolute difference between a and b
W for power of a to b
Q for power square root of average
E for sum of even numbers in range
O for sum of odd numbers in range
P for sum of prime numbers in range
V for reverse digits of the larger of a and b (Ex: 654 reverses to 456)
X to exit

Enter your Choice: a

Enter First number: 10

Enter Second number: 20

( 10 + 20 ) = 30
Calculator Operations
_____________________________________________

Enter A for addition (a + b)
S for Subtraction (a - b)
M for Multiplication (a * b)
D for Division (a / b)
R for Remainder (a % b)
F for Factorial of the absolute difference between a and b
W for power of a to b
Q for power square root of average
E for sum of even numbers in range
O for sum of odd numbers in range
P for sum of prime numbers in range
V for reverse digits of the larger of a and b (Ex: 654 reverses to 456)
X to exit

Enter your Choice: s

Enter First number: 30

Enter Second number: 10

( 30 - 10 ) = 20
Calculator Operations
_____________________________________________

Enter A for addition (a + b)
S for Subtraction (a - b)
M for Multiplication (a * b)
D for Division (a / b)
R for Remainder (a % b)
F for Factorial of the absolute difference between a and b
W for power of a to b
Q for power square root of average
E for sum of even numbers in range
O for sum of odd numbers in range
P for sum of prime numbers in range
V for reverse digits of the larger of a and b (Ex: 654 reverses to 456)
X to exit

Enter your Choice: m

Enter First number: 10

Enter Second number: 2

( 10 * 2 ) = 20
Calculator Operations
_____________________________________________

Enter A for addition (a + b)
S for Subtraction (a - b)
M for Multiplication (a * b)
D for Division (a / b)
R for Remainder (a % b)
F for Factorial of the absolute difference between a and b
W for power of a to b
Q for power square root of average
E for sum of even numbers in range
O for sum of odd numbers in range
P for sum of prime numbers in range
V for reverse digits of the larger of a and b (Ex: 654 reverses to 456)
X to exit

Enter your Choice: D

Enter First number: 15

Enter Second number: 2

( 15 / 2 ) = 7
Calculator Operations
_____________________________________________

Enter A for addition (a + b)
S for Subtraction (a - b)
M for Multiplication (a * b)
D for Division (a / b)
R for Remainder (a % b)
F for Factorial of the absolute difference between a and b
W for power of a to b
Q for power square root of average
E for sum of even numbers in range
O for sum of odd numbers in range
P for sum of prime numbers in range
V for reverse digits of the larger of a and b (Ex: 654 reverses to 456)
X to exit

Enter your Choice: R

Enter First number: 13

Enter Second number: 2

( 13 % 2 ) = 1
Calculator Operations
_____________________________________________

Enter A for addition (a + b)
S for Subtraction (a - b)
M for Multiplication (a * b)
D for Division (a / b)
R for Remainder (a % b)
F for Factorial of the absolute difference between a and b
W for power of a to b
Q for power square root of average
E for sum of even numbers in range
O for sum of odd numbers in range
P for sum of prime numbers in range
V for reverse digits of the larger of a and b (Ex: 654 reverses to 456)
X to exit

Enter your Choice: F

Enter First number: 12

Enter Second number: 16

Factorial of 4 = 24
Calculator Operations
_____________________________________________

Enter A for addition (a + b)
S for Subtraction (a - b)
M for Multiplication (a * b)
D for Division (a / b)
R for Remainder (a % b)
F for Factorial of the absolute difference between a and b
W for power of a to b
Q for power square root of average
E for sum of even numbers in range
O for sum of odd numbers in range
P for sum of prime numbers in range
V for reverse digits of the larger of a and b (Ex: 654 reverses to 456)
X to exit

Enter your Choice: w

Enter First number: 2

Enter Second number: 3

( 2 Power 3 ) = 8
Calculator Operations
_____________________________________________

Enter A for addition (a + b)
S for Subtraction (a - b)
M for Multiplication (a * b)
D for Division (a / b)
R for Remainder (a % b)
F for Factorial of the absolute difference between a and b
W for power of a to b
Q for power square root of average
E for sum of even numbers in range
O for sum of odd numbers in range
P for sum of prime numbers in range
V for reverse digits of the larger of a and b (Ex: 654 reverses to 456)
X to exit

Enter your Choice: q

Enter First number: 10

Enter Second number: 15

Square rot of 12 = 3.4641
Calculator Operations
_____________________________________________

Enter A for addition (a + b)
S for Subtraction (a - b)
M for Multiplication (a * b)
D for Division (a / b)
R for Remainder (a % b)
F for Factorial of the absolute difference between a and b
W for power of a to b
Q for power square root of average
E for sum of even numbers in range
O for sum of odd numbers in range
P for sum of prime numbers in range
V for reverse digits of the larger of a and b (Ex: 654 reverses to 456)
X to exit

Enter your Choice: e

Enter First number: 12

Enter Second number: 18

Even = 12
Even = 14
Even = 16
Even = 18
Calculator Operations
_____________________________________________

Enter A for addition (a + b)
S for Subtraction (a - b)
M for Multiplication (a * b)
D for Division (a / b)
R for Remainder (a % b)
F for Factorial of the absolute difference between a and b
W for power of a to b
Q for power square root of average
E for sum of even numbers in range
O for sum of odd numbers in range
P for sum of prime numbers in range
V for reverse digits of the larger of a and b (Ex: 654 reverses to 456)
X to exit

Enter your Choice: O

Enter First number: 13

Enter Second number: 19

Odd = 13
Odd = 15
Odd = 17
Odd = 19
Calculator Operations
_____________________________________________

Enter A for addition (a + b)
S for Subtraction (a - b)
M for Multiplication (a * b)
D for Division (a / b)
R for Remainder (a % b)
F for Factorial of the absolute difference between a and b
W for power of a to b
Q for power square root of average
E for sum of even numbers in range
O for sum of odd numbers in range
P for sum of prime numbers in range
V for reverse digits of the larger of a and b (Ex: 654 reverses to 456)
X to exit

Enter your Choice: P

Enter First number: 11

Enter Second number: 17

Prime = 11
Prime = 13
Prime = 17
Calculator Operations
_____________________________________________

Enter A for addition (a + b)
S for Subtraction (a - b)
M for Multiplication (a * b)
D for Division (a / b)
R for Remainder (a % b)
F for Factorial of the absolute difference between a and b
W for power of a to b
Q for power square root of average
E for sum of even numbers in range
O for sum of odd numbers in range
P for sum of prime numbers in range
V for reverse digits of the larger of a and b (Ex: 654 reverses to 456)
X to exit

Enter your Choice: v

Enter First number: 456

Enter Second number: 589

Reverse of 589 = 985
Calculator Operations
_____________________________________________

Enter A for addition (a + b)
S for Subtraction (a - b)
M for Multiplication (a * b)
D for Division (a / b)
R for Remainder (a % b)
F for Factorial of the absolute difference between a and b
W for power of a to b
Q for power square root of average
E for sum of even numbers in range
O for sum of odd numbers in range
P for sum of prime numbers in range
V for reverse digits of the larger of a and b (Ex: 654 reverses to 456)
X to exit

Enter your Choice: x

Thank You