Es el ejemplo de esta pagina modificado:
http://www.cplusplus.com/reference/locale/isdigit/
Código C++:
Ver original// isdigit example (C++)
#include <iostream> // std::cout
#include <string> // std::string
#include <locale> // std::locale, std::isdigit
#include <sstream> // std::stringstream
int main () {
std::locale loc;
std::string str;
bool salir = false;
int n;
do {
std::cout << "Entre con el numero" << std::endl;
std::cin >> str;
if (/**/ isdigit(str
[0], loc
) /**/) { std::stringstream ( str ) >> n;
std::cout << "Es correcto el numero?->" << n << std::endl << "1-si \n0-no\n>>>";
int opc;
std::cin >> opc;
if ( opc == 1 ){
salir = true;
}
}else{
std::cout << "No es un numero" << std::endl;
}
} while ( !salir );
std::cout << "El numero es " << n << std::endl;
return 0;
}
Aun que puedes usar el ejemplo con ctype:
http://www.cplusplus.com/reference/cctype/isdigit/