Autor
|
Tema: FUNCION PARA VALIDAR EDAD (Leído 4,137 veces)
|
carlosabcs18
Desconectado
Mensajes: 8
|
Necesito una función que valide una edad entre 8 a 11 años, y que rechace numeros decimales, negativos, etc. Alguien tendra el codigo? Porque cada vez que lo intento no compila como debe ser, aca les dejo lo que yo hice int validare(int e) { int rpt; if(e-int(e)==0) { if(e<8||e>11) { cout<<"Este software no es adecuado para tu edad, para solucionar tu problema ingresa a http://www.spammmmmm.com"; return 1; } else return 0; } else { cout<<"Tu edad no puede ser un numero decimal, intentalo denuevo"; return 1; }
|
|
« Última modificación: 9 Julio 2014, 11:21 am por Eternal Idol »
|
En línea
|
|
|
|
engel lex
|
1- quita el link del cout, es spam 2- usa etiquetas GeSHi para el codigo modifica el tema y corrije esas 2 cosas
el código estoy seguro que compila como debe ser, es muy dudoso que tengas un error en el compilador... lo único que te digo es que "e" está definido como int, un "int"(entero) jamás tendrá decimales (por eso es entero), modifica el código y estoy por seguro que terminamos de resolver
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Necesito una función que valide una edad entre 8 a 11 años, y que rechace numeros decimales, negativos, etc. .........................
También tendría que rechazar el que entren letras en lugar de números. Para ello lo mejor es que en main, o en la función que corresponda, se ingrese la variable "e", que yo llamaré edad, no cuesta tanto y es más significativa, como decía que se ingrese dicha variable como un array tipo char, ej::char edad_char[10] y ya la función validare se encargará de validar la entrada. Por supuesto rechazo edades superiores a 99, ¿o no? Y la función validare sería, y es sólo una sugerencia, algo como esto: EI: codigo removido.¡¡¡¡ Saluditos! ..... !!!!
|
|
« Última modificación: 9 Julio 2014, 16:52 pm por Eternal Idol »
|
En línea
|
|
|
|
engel lex
|
Leosansan si ya te han eliminado código antes, por que sigues haciendolo? :s puedes responder en pseudo o explicando, no es necesario (y va contra las reglas) resolverlo -.-
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Leosansan si ya te han eliminado código antes, por que sigues haciendolo? :s puedes responder en pseudo o explicando, no es necesario (y va contra las reglas) resolverlo -.-
Gracias amigo engel lex por recordarmelo, aunque ya se encarga E.I de hacerlo si me despisto. Sorry!.En este caso se trataba de que en la función validare, con lo indicado en mi anterior mensaje, se valide la cadena de entrada que representará la edad como un int y, por tratarse de la edad, de valor no superior a 100, que no está nada mal. Por lo tanto un paso sería algo como esto: ................ if ( edad_char[i] < '0' || edad_char[i] > '9' || lon > 2 ) ...............................
donde lon representa la longitud de la cadena que se calcula bien con strlen, incluyendo entonces la librería string.h, o bien sin ella calculándola como: for ( lon = 0 ; edad_char[lon] ;
Y si la cadena que representa la edad es efectivamente un int menor que 100, se trata de pasarlo de cadena a int, algo como: for (int i = 0; edad_char[i] ; i++) edad = edad * 10 + ( edad_char[i] - '0' );
Y ya tá, tampoco era para tanto, creo yo. Espero no haberme pasado esta vez. ¡¡¡¡ Saluditos! ..... !!!! ***** \. ./ | (-)
|
|
|
En línea
|
|
|
|
Miseryk
Desconectado
Mensajes: 225
SI.NU.SA U.GU.DE (2NE1 - D-Unit)
|
int main() { int edad; cout << "Edad: >" << endl; cin >> edad; bool asd = edad < 8 || edad > 11 ? false : true; if (!asd) { cout << "Este software no es adecuado para tu edad, para solucionar tu problema ingresa a http://www.spammmmmm.com" << endl; } system("pause"); return 0; }
Ésto repercute en la lógica más que nada, si vos ponés, cuánto es 1 + 1 y como resultado tenés "pepe" patealo, pero ese es el iif de vb6, además, si no sabe escribir un número, de por sí ya es obvio que ese software no es adecuado para su edad, aunque creo que un chico/a entre 8 a 11 entendería mejor la consigna y no querría romper el sistema
|
|
|
En línea
|
Can you see it? The worst is over The monsters in my head are scared of love Fallen people listen up! It’s never too late to change our luck So, don’t let them steal your light Don’t let them break your stride There is light on the other side And you’ll see all the raindrops falling behind Make it out tonight it’s a revolution
CL!!!
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Muy bueno lo del bool Miseryk, pero el tema era: Necesito una función que valide una edad entre 8 a 11 años, y que rechace numeros decimales, negativos, etc.
....o letras y tu código valida presuponiendo que la entrada es un entero. ... y no es una crítica, sólo una observación. En realidad tu propuesta es equivalente a: ****************** int edad; cout << "Edad: >" << endl; cin >> edad; if (edad < 8 || edad > 11 ) { cout << "Este software no es adecuado para tu edad, para solucionar tu problema ingresa a http://www.spammmmmm.com" << endl; } *******************************
Por lo que te podrías ahorrar el bool asd y, como ya comenté, queda pendiente la validación indicada por el autor del tema. ¡¡¡¡ Saluditos! ..... !!!!
|
|
« Última modificación: 17 Julio 2014, 12:33 pm por leosansan »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
función para validar urls
PHP
|
Hans el Topo
|
1
|
1,937
|
16 Diciembre 2008, 03:58 am
por WHK
|
|
|
funcion para validar email
Programación Visual Basic
|
bomba1990
|
2
|
4,756
|
17 Julio 2009, 00:59 am
por seba123neo
|
|
|
Funcion para validar formulario en Firefox no funciona
Desarrollo Web
|
Crash_RPM
|
6
|
9,367
|
26 Agosto 2014, 18:14 pm
por #!drvy
|
|
|
¿Existe edad para ser gamer? ¿ Es correcto seguir jugando a cierta edad?.
« 1 2 3 »
Foro Libre
|
Yaldabaot
|
22
|
8,792
|
6 Diciembre 2014, 22:58 pm
por Orubatosu
|
|
|
calcular funcion edad con funcion fecha de nacimiento
« 1 2 »
Programación C/C++
|
dragonlady
|
12
|
25,245
|
28 Septiembre 2015, 22:37 pm
por 0xFer
|
|