Cita de: Zodiak98 en 22 Julio 2013, 20:09 PMCon solo C++ estándar hay que limitarse a la validación una vez se genere el texto.
Bueno es que estaba aburrido y me puse a programar un juego muy sencillo que trata sobre meter un numero entre el 1 y el 15 y tú compañero tiene que adivinarlo. Pero lo que quiero hacer es que no se puedan ingresar letras solo números
Debes leer una linea verificando que la lectura del entero sea exitosa y el siguiente carácter sea el avance de linea. Por ejemplo:
Código (cpp) [Seleccionar] 
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
#include <limits>
using std::numeric_limits;
int main()
{
   int num;
   bool ok = false;
   bool error_critico = false;
   
   do {
      cout << "Teclea un numero: ";
      if (cin >> num && cin.get() == '\n')
         ok = true;
      else if (cin.eof() || cin.bad())
         error_critico = true;
      else {
         cout << "Entrada no valida" << endl;
         cin.clear();
         cin.ignore(numeric_limits<int>::max(), '\n');
      }
   }while (!ok && !error_critico);
   
   cout << endl;
   
   if (ok)
      cout << "El numero es " << num << endl;
   else 
      cout << "Error critico en la lectura" << endl;
   
   return 0;
}Un saludo