Non è un bug, anche se appare come tale. Semplicemente il cin va in errore.
Si può risolvere così:
P.Scodice:#include <limits> // per numeric_limits<std::streamsize>::max() int scelta = 0; //definisco e dò valore alla variabile scelta do{//open do //uso un solo cout per ordine personale cout << "1 - continua" << endl << "2 - esci" << endl << endl << "Scegli > "; //prelevo il valore dalla tastiera cin >> scelta; if (!cin) { cin.clear(); // toglie l'errore cin.ignore(numeric_limits<std::streamsize>::max(), '\n'); // ripristina cin } }//close do while( scelta < 1 && scelta > 2);
Io consiglio di lasciar perdere le beta per il momento.