SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: Ciudad Nocturna en Martes 9 de Marzo de 2004, 11:47
-
Hola a todos: Tengo un problema con un control de errores. Quiero introducir un número por teclado y quiero hacer un control de errores para evitar meter letras y cualquier caracter que no sea un número.
He conseguido hacer lo para un dígito y funciona de maravilla, pero claro quiero poder hacer lo para más de un dígito, que sino no tiene gracia.
Lo he hecho así:
cin >> dato;
if (dato >= '0' && dato <= '9')
{
cin.putback (dato);
cin >> dato;
}
else
cout << "error" << endl;
Esto para un dígito funciona, pero quiero algo parecido que pueda funcionar con más de un dígito.
A ver si alguien puede hechar me una mano.
Gracias Por Adelantado.
Un Saludo A Todos.
-
Podrias ir leyendo de a un caracter hasta un "enter" y cada vez q lo lees, invocas una funcion q verifique si lo ingresado es un carcater o no. Para ello podrias usar la funcion "isdigit()" o "isalpha()" para saber si el caracter es una letra o un numero. Bueno, eso es lo q se me ocurre. Resumiendo: arrancas con un
while (CaracterDeUsuario != 13 )//creo q el enter es el 13
{
if (ComprobarCaracter(CaracterDeUsuario) == true)
{
//acepto caracter
}
}
Espero q la idea sirva
Salu2!!!!!