PDA

Ver la versión completa : Validar ingreso de datos, Existe otra manera...?



Autodidacta_DanielC++
03/06/2008, 22:32
Hola a todos
Soy nuevo en este foro y deseo presentarme, tengo 56 años y
soy un entusiasta aficionado en el tema de la programación, como
podrán notar por mi edad y por mi trabajo no puedo concurrir a la
universidad, por lo tanto lo que me queda es leer tutorías y acudir
a los foros.-
Mi primer consulta:
En la calculadora que estoy haciendo necesito validar
que el ingreso de datos sea únicamente numérico, lo
que deseo saber es si la única manera es por medio
de un bucle verificando carácter por carácter o existe
otra manera en C++.-

Un gran abrazo a todos y desde ya muchas gracias por la ayuda
que deseen brindarme.-
El autodidacta DanielC++ :smile:

Arielo
04/06/2008, 09:19
Hola, Daniel, bienvenido...

Imagino que podrá verificar en cuanto se pulsa una tecla, cuál es el código ASCII de la misma. Si es así:

- Si el ASCII de la tecla pulsada está entre el 48 (que corresponde al 0) y el 57 (correspondiente al 9), hace que acepte la pulsación.

- Si no está entre éstos, debería tener en cuenta:
* Si es un punto decimal (y en este caso, si no ha sido ya pulsado para el número actual)
* Si es un signo aritmético válido
* Si es el Enter (que, imagino, equivaldrá al signo = en la calculadora)
* Si es el carácter de retroceso (para borrar el último caracter ingresado)

- Si no es ninguno de los casos anteriores, que rechace la tecla pulsada

Espero que le sirva

Saludos...

Autodidacta_DanielC++
04/06/2008, 15:52
Hola Arielo (espero que salgan campeones)
Todo eso medianamente lo tengo, lo que quería saber es si existía alguna función ya preexistente para hacer dicha validación, en cuanto a lo que me propones como solución es usar la librería "conio" cosa que no quiero hacer hasta que no sea imprescindible.-

Un gran abrazo
El autodidacta DanielC++ :)

Arielo
04/06/2008, 16:01
Gracias... yo también lo espero, Daniel, jejejeje......

Sí, es verdad lo de la librería conio...... Bien, en ese caso, veré si encuentro alguna solución al problema ese, ya que lamentablemente, mis conocimiento de C++ no son muy amplios que digamos...

Saludos...