here is the code
int miscellaneous::printWelcomeScreen(){
    int ch;
    cout<<"Tic Tac Toe"<<endl<<endl;
    cout<<"1. Play Game "<<"2. How to Play "<<"3. Credits "<<endl;
    cout<<endl<<"Enter Your Choice"<<endl;
    cin>>ch;
    choiceSelection(ch);
    return 0;
}
int miscellaneous::choiceSelection(int ch){
    switch(ch){
    case 1: break;
    case 2: showHelp();break;
    case 3: showCredits();break;
    default: {
            cout<<"Wrong Choice dude!! Use your keyboard Properly next time";
            printWelcomeScreen();
            break;
            }
    }
    return 0;
}
When I give a int input, default case works perfectly, But when I give a char input, default case starts running in infinite loop.
Why this is happening? I even tried parsing ch before passing to switch.
 
     
     
    