Which of these patterns is best?
<p><strong>A</strong></p>

<pre><code>:data_input
    [input code here];
    if ([validation test]) {
        std::cout &lt;&lt; "Invalid data. ";
        goto data_input;
    }
</code></pre>

<p><strong>B</strong></p>

<pre><code>do {
    [input code here];
while ([validation test] &amp;&amp; std::cout &lt;&lt; "Invalid data. ");
</code></pre>

<p><strong>C</strong></p>

<pre><code>do {
    [input code here];
}
while ([validation test] &amp;&amp; (std::cout &lt;&lt; "Invalid data. ") || 1);
</code></pre>

<p>What method would you choose for jumping back to the input segment of the code and why?</p>
