Non conoscevo la funzione isnan, però ho visto che prende in input un double.
Prova così (funziona solo con numeri di una cifra)
codice:do { cout << " a = "; cin >> a; } while (!(isdigit(a)));
Purtroppo non ho sottomano un compilatore e non riesco a provarla![]()