• Jueves 23 de Mayo de 2024, 22:53

Autor Tema:  Control De Errores  (Leído 846 veces)

Ciudad Nocturna

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
    • http://www.ciudadnocturna.tk
Control De Errores
« en: Martes 9 de Marzo de 2004, 11:47 »
0
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.
IberMap Software

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Control De Errores
« Respuesta #1 en: Martes 9 de Marzo de 2004, 13:03 »
0
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!!!!!