Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Tipos de variables. E/S

Estas en el tema de Tipos de variables. E/S en el foro de C/C++ en Foros del Web. Hola, pues estaba haciendo uno de mis primeros programas en C++, bastante simple, que lee sucesivamente números del teclado, hasta que aparezca un número comprendido ...
  #1 (permalink)  
Antiguo 15/06/2013, 11:01
 
Fecha de Ingreso: junio-2013
Mensajes: 2
Antigüedad: 10 años, 10 meses
Puntos: 0
Pregunta Tipos de variables. E/S

Hola, pues estaba haciendo uno de mis primeros programas en C++, bastante simple, que lee sucesivamente números del teclado, hasta que aparezca un número comprendido entre 1 y 5. Lo compile, ejecute y no me dio problema.

Ahora bien el problema vino cuando lo estaba probando y por accidente introduje una letra, ya que se traba, entra en un bucle infinito, asumo que es porque no es el tipo de dato que se solicita, puesto que la variable es "double".

Mi duda es ¿como puedo hacer para que al introducir un carácter ponga en la pantalla un mensaje de error?

He buscado por todos lados y no encuentro respuesta.
De antemano gracias!


Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6.     double a = 0;
  7.     cout << "Este programa leera los numeros introducidos por el usuario hasta que se introduzca un numero entre 1 y 5" << endl;
  8.  
  9.     while( (a<=1) || (a>=5) )
  10.     {
  11.         cin >> a;
  12.     }
  13.  
  14.     system("pause");
  15.     return 0;
  16. }
  #2 (permalink)  
Antiguo 15/06/2013, 11:21
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Tipos de variables. E/S

Por favor usa la etiqueta Highlight para resaltar el código.

Aquí te dejo un ejemplo:
Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6.     double a = 0;
  7.     cout << "Este programa leera los numeros introducidos por el usuario hasta que se introduzca un numero entre 1 y 5" << endl;
  8.  
  9.     while( (a<=1) || (a>=5) )
  10.     {
  11.         cin >> a;
  12.         if(!cin.fail()) {
  13.             cout << a << endl;
  14.         }
  15.         else {
  16.             cout << "No es un numero" << endl;
  17.             cin.clear();
  18.             cin.ignore(10000,'\n');
  19.         }
  20.     }
  21.  
  22.     return 0;
  23. }
  #3 (permalink)  
Antiguo 15/06/2013, 11:36
 
Fecha de Ingreso: junio-2013
Mensajes: 2
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Tipos de variables. E/S

Muchas gracias! eso lo resuelve todo! :)
  #4 (permalink)  
Antiguo 15/06/2013, 13:08
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 11 años, 9 meses
Puntos: 28
Respuesta: Tipos de variables. E/S

"Intuyo" que estás usando Devcpp (system). No te lo recomiendo:
http://foro.elhacker.net/programacio...t385150.0.html

Etiquetas: c++
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:31.