Test Foro de elhacker.net SMF 2.1

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 (cpp) [Seleccionar]
int main(){

   int numero;      ///este es el numero que quiero leer

   do{

      ///aqui leo el numero

       cout << "INTRODUZCA UN NUMERO: ";
       cin>> numero;



     if (aqui no se que condicion poner){
        cout << "dato erroneo";
     }

   }while(aqui tampoco se que poner XD);




}



· 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 (cpp) [Seleccionar]
int main(){
  int numero;      ///este es el numero que quiero leer
  while(true){ //ciclo infinito
  cout << "INTRODUZCA UN NUMERO: ";
  cin >> numero; //introducimos el numero
      if (!cin){ // si cin falló porque el tipo era erroneo
        cin.clear(); //limpiamos cin
        cin.ignore(1<<30,'\n'); // ingoramos los "enter" que queden en buffer,
                                         //el primero numero es simplemente un numero arbitrariamente grande
        cout << "dato erroneo" << endl; // indicamos que el dato está mal
      }else{ // si está bien
        cout << "ok: " << numero << endl; // ok
        break; // rompemos el ciclo
      }

    }


return 0; // main siempre debe retornar 0 si es ok

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