Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: arpemar98 en 27 Septiembre 2017, 01:10 am



Título: Leer variable entero en C++
Publicado por: arpemar98 en 27 Septiembre 2017, 01:10 am
Hola, queria saber si alguien me puede ayudar con este problema de c++:
1.- tengo que declarar una variable "int" (si o si :( )
2.- leer esa variable
3.- si introduzco cualquier otro dato que no sea un entero (ejemplo una palabar "gato"), el programa me dira que es un dato erroneo y me volvera a preguntar, esto es una idea que tengo de como hacerlo:

Código
  1. int main(){
  2.  
  3.    int numero;      ///este es el numero que quiero leer
  4.  
  5.    do{
  6.  
  7.       ///aqui leo el numero
  8.  
  9.        cout << "INTRODUZCA UN NUMERO: ";
  10.        cin>> numero;
  11.  
  12.  
  13.  
  14.      if (aqui no se que condicion poner){
  15.         cout << "dato erroneo";
  16.      }
  17.  
  18.    }while(aqui tampoco se que poner XD);
  19.  
  20.  
  21.  
  22.  
  23. }


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex


Título: Re: Leer variable entero en C++
Publicado por: engel lex en 27 Septiembre 2017, 01:49 am
yo recomendaría hacerlo así


Código
  1. int main(){
  2.  int numero;      ///este es el numero que quiero leer
  3.  while(true){ //ciclo infinito
  4.  cout << "INTRODUZCA UN NUMERO: ";
  5.  cin >> numero; //introducimos el numero
  6.      if (!cin){ // si cin falló porque el tipo era erroneo
  7.        cin.clear(); //limpiamos cin
  8.        cin.ignore(1<<30,'\n'); // ingoramos los "enter" que queden en buffer,
  9.                                         //el primero numero es simplemente un numero arbitrariamente grande
  10.        cout << "dato erroneo" << endl; // indicamos que el dato está mal
  11.      }else{ // si está bien
  12.        cout << "ok: " << numero << endl; // ok
  13.        break; // rompemos el ciclo
  14.      }
  15.  
  16.    }
  17.  
  18.  
  19. return 0; // main siempre debe retornar 0 si es ok
  20.  
  21.  


Título: Re: Leer variable entero en C++
Publicado por: arpemar98 en 27 Septiembre 2017, 02:43 am
Gracias engel lex me has ayudado :D :D