Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/03/2015, 07:53
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 2 meses
Puntos: 204
Respuesta: Validar que el valor ingresado es un numero y no letras, signos, etc..

Cita:
Iniciado por RGT Ver Mensaje
Esa variable debe ser INT ya que necesito recibir numeros pero, quiero validar que no ingresen letras pero me da error.
A ver, si necesitas discriminar entre letras y números... tienes que leer char y, posteriormente, convertir a int.

¿Por qué? Muy sencillo: int es un tipo de dato de 32 bits... es decir, únicamente almacena números. Si yo te pongo el número 34596596... ¿Sabrías decir si ese número viene porque se ha introducido ese número en concreto o es un error debido a una conversión rara de un texto a números? no, verdad?... y si pasa a ser el número -456023984 ??? pues eso.

El único que es capaz de distinguir un dígito numérico de cualquier otro es el tipo char (y, por extensión, char*), así que no te queda otra que leer caracteres del teclado, después hacer los chequeos oportunos sobre dichos caracteres y finalmente, si procede, hacer la conversión de string a int.

Un saludo.