Ho modificato in questo modo:
codice:
do{
    cin >> n;
    if(n<2){
        cerr << "Errore";
    }
    if(!isdigit(n)){
        cerr << "Errore";
    }
}while(n<2 || !isdigit(n));
Nonostante tutto continua a non funzionare.