Breves: Forzar la lectura de un entero en C++
Cuando estamos programando en C++ y leemos un entero por terminal, nadie garantiza que realmente se lea. Imaginemos lo siguiente:
int entero;
cin >> entero;
Y cuando se ejecuta el programa, el usuario escribe una 'a'. ¿Qué ocurre? Pues que el programa se sigue ejecutando y el entero no se ha leído.
Una de las posibles soluciones, es forzar la lecutra de un entero de la siguiente forma:
#include <iostream>
using namespace std;
int main()
{
int entero;
cout << "Introduce un entero:";
while(!(cin >> entero))
{
cin.clear();
cout << "Caracter incorrecto" << endl;
cin.get();
}
cout << "Entero:" << entero << endl;
return 0;
}
Tags
La teoría es cuando crees saber algo, pero no funciona.
La práctica es cuando algo funciona, pero no sabes por qué.
Los programadores combinan la teoría y la práctica:
Nada funciona y no saben por qué.
