Hola, en está ocasión tengo problemas al usar la libreria cctype, el caso es que necesito que el usuario introduzca un número, y en caso que introduzca una letra, le de una aviso de que necesita introducir un número y le vuelva a pedir la introducción de datos. El metodo que estoy usando es el siguiente:
if (! isdigit (a)) { cout << "A introducido un caracter no valido, por favor introduzca un número" << endl;
Parte del problema es que no se usar "isdigit" he buscado ejemplos en la web, pero no encuentro uno que me explique que sintaxis debe llevar, no digo que no existan, sino que no he buscado en los lugares adecuados.
Lo que he puesto hace que sea digito, sea letra, o sea signo de puntuación, siempre me dice que el caracter no es valido.
Mi segundo problema deriva del hecho que no se cómo decirle al programa:
"Si no es un digito, imprime este mensaje, y pide la información de nuevo, hasta que la introduzca correctamente".
Pensaba usar un "goto" pero por toda la web, desaconsejan su uso, ¿Que otras opciones tengo?
Saludos.
cctype no es c++
Si quieres programar en C++ "puro" es mejor que no intentes usar las librerías "c*" cctype, cstdlibs, cstring, etc. No son otra cosa que la herencia del C. Lo que quieres hacer se puede hacer con C++ usando los bits de error de la clase iostream de una forma más elegante. Tengo un par de miniguías sobre esto, en la segunda, en el primer ejemplo, viene un código que seguramente sea lo que buscas.
Controles de flujo (Parte 1)
Controles de flujo (Parte 2)
NOTA A LOS EDITORES: No me es posible editar estos tutos para formatear el código con la nueva opción del editor. ¿Sería posible darme permisos o que alguien lo haga por mí?. gracias
LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.
Gracias
No sabia que lo que buscaba se encontraba en esos tutos. Ahora mismo los leo ;-)
Saludos.
Está en pendientes de Uni
La edición de los tutos de programación para adaptarlos al resaltado la tiene Uni en pendientes (su lista da miedo), pero si te apetece hacerlo a ti y puedes no tengo inconveniente en asignarte rango de editor temporalmente ;) (de hecho te agradecería si puedes adaptar no solo los tuyos sino todos los que hay, que ultimamente vamos de craneo)
Confirmamelo aquí o por privado.
Salu2
"El paraíso a mi derecha, el infierno a mi izquierda y el ángel de la muerte tras de mi."