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;
    }
}
 
     
     
     
    