Me gustaría saber cómo podría hacer para evitar que los usuarios ingresaran valores que no corresponden al tipo de variable. Por ejemplo, supongamos que tengo un código bastante sencillo como este:
#include <iostream>
using namespace std;
int main(void)
{
int n;
cin >> n;
if(n > 10) cout << "Es mayor que 10" << endl;
else cout << "Es menor a 10" << endl;
cin.get();
return 0;
}
Pero, ¿cómo podría hacer para prever una situación donde en lugar de un número introduzca un caracter o una cadena de caracteres y realizar otra acción?
Sé que es algo bastante simple y hasta ridículo, pero igual me gustaría saberlo.
Gracias de antemano. :)
solo revisa si cin falló
#include <iostream>
using namespace std;
int main(void)
{
int n;
cin >> n;
if(cin.fail()){
cout << "esto no es un entero" << endl;
return 0;
}
if(n > 10) cout << "Es mayor que 10" << endl;
else cout << "Es menor a 10" << endl;
cin.get();
return 0;
}
Cita de: engel lex en 26 Junio 2015, 02:25 AM
solo revisa si cin falló
#include <iostream>
using namespace std;
int main(void)
{
int n;
cin >> n;
if(cin.fail()){
cout << "esto no es un entero" << endl;
return 0;
}
if(n > 10) cout << "Es mayor que 10" << endl;
else cout << "Es menor a 10" << endl;
cin.get();
return 0;
}
Vale, gracias.