• Sábado 7 de Diciembre de 2024, 21:56

Autor Tema:  Validar que el ingreso sea solo números.  (Leído 4583 veces)

DanielC#

  • Miembro activo
  • **
  • Mensajes: 39
  • Nacionalidad: ar
    • Ver Perfil
Validar que el ingreso sea solo números.
« en: Sábado 28 de Septiembre de 2013, 00:03 »
0
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 
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-

LocoPoshon27

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re:Validar que el ingreso sea solo números.
« Respuesta #1 en: Miércoles 2 de Octubre de 2013, 22:25 »
0
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.