title: using cin.ignore()? Not sure how to make it work
body: <pre><code>bool showMenu(romanType roman){
      cout &lt;&lt; endl;
      cout &lt;&lt; "Just enter a number to choose an option" &lt;&lt; endl;
      cout &lt;&lt; "1: Print the Roman Numeral" &lt;&lt; endl;
      cout &lt;&lt; "2: Print the decimal value" &lt;&lt; endl;
      cout &lt;&lt; "3: Enter a new Roman Numeral" &lt;&lt; endl;
      cout &lt;&lt; "4: Quit the program" &lt;&lt; endl;
      cout &lt;&lt; endl;
      while (true) {
  
          cout &lt;&lt; "Your choice:" &lt;&lt; endl;
          int input;
          cin &gt;&gt; input;
          if (input == 1) {
              cout &lt;&lt; roman.getRomanString() &lt;&lt; endl;
          } else if(input ==2) {
              cout &lt;&lt; roman.getDecimalValue() &lt;&lt; endl;
          } else if(input == 3) {
              return true;
          } else if(input == 4) {
              return false;
          } else {
              cout &lt;&lt; "Invalid selection, please make a valid selection." &lt;&lt; endl;
          }
      }
  }
  </code></pre>
  
  <p>Alight, so by and large this works fine, I'm just having one small problem with my final else statement. As long as the user has entered a type of int, the loop does what it is supposed to, however if any kind of string is entered (i.e. 45r, rts, 3e5) the loop stops taking user input and just spirals infinitely, cout(ing) Invalid selection... and Your choice... over and over again. I think I need to use .ignore() to drop the \n in the case of a string, but I'm not sure of how to do that. Am I on the right track?</p>