Ciao a tutti!
Ho appena iniziato a programmare in C++ su Linux e già mi sorgono i primi dubbi...
Semplicemente, ho scritto un programma la cui parte incriminata è riassumibile in queste semplici linee di codice:

codice:
#include <iostream>
using namespace std;

main()
{
while (1)
{
int variabile;
cout << "Inserisci un numero: ";
cin >> variabile;
cout << "Hai scritto " << variabile << endl;
}
}
Ecco il risultato dell'esecuzione:

codice:
vlad@vladweider:~$ ./esempio-semplice
Inserisci un numero: 6
Hai scritto 6
Inserisci un numero: 16
Hai scritto 16
Inserisci un numero: 87
Hai scritto 87
Inserisci un numero: 36
Hai scritto 36
Inserisci un numero: 98
Hai scritto 98
Inserisci un numero: 468
Hai scritto 468
Inserisci un numero: ciao
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
Inserisci un numero: Hai scritto 468
E continua a scrivermi "Inserisci un numero: Hai scritto 468" fino a quando non premo CTRL+C.
Questo potrebbe essere evitato inserendo un if che lo fa uscire dal programma nel caso in cui la variabile abbia qualcosa di strano (tipo: sia maggiore di 999999 o qualcosa del genere).
Il fatto è che io non devo uscire dal programma: vorrei semplicemente che il valore inserito venisse ignorato e ne venisse richiesto un altro.
Insomma, come posso fare in modo che il programma non crashi o esca quando in un int viene messo qualcosa di diverso da un numero intero??
Ciao a tutti e grazie per la collaborazione