SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: DanielC# en Sábado 28 de Septiembre de 2013, 00:03

Título: Validar que el ingreso sea solo números.
Publicado por: DanielC# en Sábado 28 de Septiembre de 2013, 00:03
Hola a todos.
Les muestro el programita, es lo más conciso que pude lograr para validar ingreso de datos,
Pero no funciona cuando se ingresa algo que no sea un entero.-

Código: C
  1. #include <stdio.h>
  2.  
  3. int main(void){
  4.  
  5.     int entero,ok;
  6.     do{
  7.         printf("\n Ingresa un entero.....: ");
  8.         ok=scanf("%d%*c", &entero);
  9.     } while(!ok);
  10.     printf("\n Ingresaste............: %d", entero);
  11.  
  12.     getchar();
  13.     return 0;    
  14. }

:ayuda: :gracias:
Saludos.
Daniel 
Título: Re:Validar que el ingreso sea solo números.
Publicado por: LocoPoshon27 en Miércoles 2 de Octubre de 2013, 22:25
Hola daniel como estas mira hace rato que no programo en c/c++ mas en modo consola como el codigo que estas mostrando tenia un sistemita hecho del tipo windows form y yo validaba que el ingreso de datos en ciertos campos sea solo numeros y nada mas. Lo hacia asi

void __fastcall TAltas::EditEdadKeyPress(TObject *Sender, char &Key)
{
 if (Key == 13) //esto es si se presiona ENTER el valor 13 representa al ENTER en ascii
  { DTFecNac->SetFocus(); }
 else
  {
   //aca hace esto si presionas alguna tecla que no sea numerica no escribe nada o no hace nada
  //y el otro el Key != 8  es para que puedas borrar con la tecla backspace
   if(Key !=8 && Key < '0' || Key > '9')
     { Key = 0;}
  }
}

Fijate que yo lo hago en el evento on keypress de un textbox disculpa pero no me acuerdo mucho de modo consola te lo paso porque por ahy te sirve y lo extrapolas a tu problema.
Espero te sirva un saludo.