I am trying to take and process the user decision by using char +, -, /, *, Why is switch statement ignoring them thus I don't see any mistake in my Code.
#include <iostream>
using namespace std;
void optionMenu();
double UserOutput(int);
int main ()
{
int UserChoice;
optionMenu();
cout << " Choice: ";
cin >> UserChoice;
UserOutput(UserChoice);
return 0;
}
void optionMenu()
{
cout << " Select your choice" << '\n';
cout << " + for Addition" << '\n';
cout << " - for Subtraction" << '\n';
cout << " / for Division" << '\n';
cout << " * for Multiplication" << '\n';
}
double UserOutput (int UserChoice)
{
int value1, value2;
switch (UserChoice)
{
case '+':
cout << " Enter First Number: "; cin >> value1;
cout << " Enter Second Number: "; cin >> value2;
cout << " The result for the Entered numbers is equal to: [" << (value1 + value2) << "]" << '\n';
break;
case '-':
cout << " Enter First Number: "; cin >> value1;
cout << " Enter Second Number: "; cin >> value2;
cout << " The result for the Entered numbers is equal to: [" << value1 - value2 << "]" << '\n';
break;
case '/':
cout << " Enter First Number: "; cin >> value1;
cout << " Enter Second Number: "; cin >> value2;
if(value2)
cout << " The result for the Entered numbers is equal to: [" << value1 / value2 << "]" << '\n';
else
cout << " Not Allowed or Infinity, Try again!" << '\n';
break;
case '*':
cout << " Enter First Number: "; cin >> value1;
cout << " Enter Second Number: "; cin >> value2;
cout << " The result for the Entered numbers is equal to: [" << value1 * value2 << "]" << '\n';
break;
default:
cout << " Invalid Input Try again" << '\n';
break;
}
}