Salve, ho un problema con il codice che vi ho incollato. Non capisco perchè se l'utente, per errore, inserisce un carattere, il programma entra nel while e si ripete in loop senza eseguire la cin. Se anche mettessi una cin, dichiarando una seconda variabile, il ciclo non si ferma in attesa dell'inserimento del valore ma si ripete in loop, come se non vedesse più le istruzioni di cin. Cosa sbaglio?
#include <iostream>
using namespace std;
int main (void)
{
int d;
cout<<"Inserisci un numero compreso tra 1 e 100"<<endl;
cin>>d;
cout << d << endl;
while(d<1||d>100)
{
cout<<"il valore inserito è errato, riprova"<<endl;
cin>>d; //con i caratteri non viene eseguita questa istruzione
}
}
Grazie mille per l'aiuto.