C++ Program requires me to input twice even though the variable gets assigned the first time
<p>Every time I try to input my answer it requires me to input it twice. Even though examScore1 already gets assigned a value the first time, it still requires me to put in another value. I designed the program so that if anything that is not a number is entered it will output an error message, and ask the user to input again one time, and then the program will end completely. </p>

<pre><code> cout &lt;&lt; "Please enter score for Exam 1: ";
        cin &gt;&gt; examScore1;
        if(!(cin &gt;&gt; examScore1)||!(examScore1 &lt;= 100 || examScore1 &gt;= 0))
        {
            cout &lt;&lt; "Exam score cannot be less than 0 or more than 100" &lt;&lt; endl;
            cout &lt;&lt; "Please re-enter score for Exam 1: \n";
            cin.clear();
            cin.ignore(numeric_limits&lt;streamsize&gt;::max(), '\n');
            cin &gt;&gt; examScore1;
            if(!(cin &gt;&gt; examScore1)||!(examScore1 &lt;= 100 || examScore1 &gt;= 0))
            {
                cout &lt;&lt; "\nInvalid input entered. PROGRAM WILL END. Please\n"
                     &lt;&lt; "consult the user manual and restart the program\n";
                validInput = false;
            }
        }
</code></pre>