elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda con validacion...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con validacion...  (Leído 1,392 veces)
.:BlackCoder:.


Desconectado Desconectado

Mensajes: 388


Cada dia C++!!


Ver Perfil
Duda con validacion...
« en: 26 Febrero 2011, 17:52 pm »

En este code... Que valida la entrada de un entero...

Código
  1.   int numero, cont = 0;
  2.   bool continuar;
  3.  
  4.   do {
  5.      continuar = false;
  6.      cin.clear();
  7.      if(cont > 0) cin.ignore(1024, '\n');
  8.      cout << "Introduce un numero: ";
  9.      cin >> numero;
  10.      cont++;
  11.      if(cin.fail() && cin.rdstate()){
  12.         cout << "NO ES UN NUMERO" << endl;
  13.         continuar = true;
  14.      }
  15.   } while (continuar);

Por que 1024? De hecho funciona hasta con 1... yo crei que funcionaria con un simple cin.ignore( '\n');  

Pero nop  :xD

Saludos...

EDIT:

Ya vi el por que, mejor hacerlo asi:

Código
  1. int x;
  2.    do{  
  3.        if (!cin){
  4.            cin.clear();
  5.            while (cin.get() != '\n');
  6.        }            
  7.        cout<<"dame x: ";
  8.        cin>>x;
  9.  
  10.    }
  11.    while(!cin);

 :)


« Última modificación: 26 Febrero 2011, 18:31 pm por .:BlackCoder:. » En línea

"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
validacion de datos
Programación Visual Basic
tony12 1 1,751 Último mensaje 18 Febrero 2006, 19:08 pm
por zhidow
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines