Who am I, si la mia variabile è un int, non l'ho scritto esplicitamente perché pensavo si capisse dalla condizione del do...while. Cmq ringrazio te ed oregon per essere intervenuti ma sono riuscito a risolvere da solo. Questa è la modifica che ho fatto, così funziona:
codice:
do{
    cin >> n;
    if(cin.fail()){
        cin.clear();
        cout << "Non hai inserito un numero, riprova: ";
        cin.ignore();
    }
    else{
        if(n<2){
            cerr << "Errore, riprova: ";
	}
    }
}while(n<2);