SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: Ciudad Nocturna en Martes 9 de Marzo de 2004, 11:47

Título: Control De Errores
Publicado 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.
Título: Re: Control De Errores
Publicado por: nicokiki en Martes 9 de Marzo de 2004, 13:03
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!!!!!