Tienes varias opciones:
1. Leer la entrada del tirón como si fuese un string y comparar dígito a dígito:
2. Intentar leer directamente el número como tal y comprobar errores:
1. Leer la entrada del tirón como si fuese un string y comparar dígito a dígito:
Código (cpp) [Seleccionar]
std::string cad;
cin >> cad;
for( int i=0; i < cad.length( ); ++i )
{
if ( !std::is_digit( cad[ i ] ) )
{
// ERROR
}
}
2. Intentar leer directamente el número como tal y comprobar errores:
Código (cpp) [Seleccionar]
int numero;
cin >> numero;
if ( !cin )
{
cin.clear( );
// ERROR: No es un número
}