elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  FUNCION PARA VALIDAR EDAD
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: FUNCION PARA VALIDAR EDAD  (Leído 3,743 veces)
carlosabcs18

Desconectado Desconectado

Mensajes: 8


Ver Perfil
FUNCION PARA VALIDAR EDAD
« en: 9 Julio 2014, 05:12 am »

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

Código
  1. int validare(int e)
  2. {
  3. int rpt;
  4. if(e-int(e)==0)
  5. {
  6. if(e<8||e>11)
  7. {
  8. cout<<"Este software no es adecuado para tu edad, para solucionar tu problema ingresa a http://www.spammmmmm.com";
  9. return 1;
  10. }
  11. else
  12. return 0;
  13. }
  14. else
  15. {
  16. cout<<"Tu edad no puede ser un numero decimal, intentalo denuevo";
  17. return 1;
  18. }


« Última modificación: 9 Julio 2014, 11:21 am por Eternal Idol » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: FUNCION PARA VALIDAR EDAD
« Respuesta #1 en: 9 Julio 2014, 05:22 am »

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 Desconectado

Mensajes: 1.314


Ver Perfil
Re: FUNCION PARA VALIDAR EDAD
« Respuesta #2 en: 9 Julio 2014, 15:59 pm »

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? :laugh:

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
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Re: FUNCION PARA VALIDAR EDAD
« Respuesta #3 en: 9 Julio 2014, 18:09 pm »

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 Desconectado

Mensajes: 1.314


Ver Perfil
Re: Re: FUNCION PARA VALIDAR EDAD
« Respuesta #4 en: 9 Julio 2014, 19:29 pm »

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:

Código
  1. ................
  2.  if ( edad_char[i] < '0' ||  edad_char[i] > '9' || lon > 2 )
  3. ...............................

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:

Código
  1. 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:

Código
  1. for (int i = 0; edad_char[i] ; i++)
  2.    edad = edad * 10 + ( edad_char[i] - '0' );

Y ya , tampoco era para tanto, creo yo.

Espero no haberme pasado esta vez.  :silbar:

¡¡¡¡ Saluditos! ..... !!!!


*****
\. ./
  |
 (-)

En línea

Miseryk

Desconectado Desconectado

Mensajes: 225


SI.NU.SA U.GU.DE (2NE1 - D-Unit)


Ver Perfil
Re: FUNCION PARA VALIDAR EDAD
« Respuesta #5 en: 16 Julio 2014, 22:28 pm »

Código
  1. int main()
  2. {
  3. int edad;
  4.  
  5. cout << "Edad: >" << endl;
  6.  
  7. cin >> edad;
  8.  
  9. bool asd = edad < 8 || edad > 11 ? false : true;
  10.  
  11. if (!asd)
  12. {
  13. cout << "Este software no es adecuado para tu edad, para solucionar tu problema ingresa a http://www.spammmmmm.com" << endl;
  14. }
  15.  
  16. system("pause");
  17.  
  18. return 0;
  19. }
  20.  

É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  :silbar:
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 Desconectado

Mensajes: 1.314


Ver Perfil
Re: FUNCION PARA VALIDAR EDAD
« Respuesta #6 en: 16 Julio 2014, 22:59 pm »

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:

Código
  1. ******************
  2. int edad;
  3.  
  4. cout << "Edad: >" << endl;
  5.  
  6. cin >> edad;
  7.  
  8. if (edad < 8 || edad > 11 )
  9. {
  10. cout << "Este software no es adecuado para tu edad, para solucionar tu problema ingresa a http://www.spammmmmm.com" << endl;
  11. }
  12. *******************************

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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
función para validar urls
PHP
Hans el Topo 1 1,820 Último mensaje 16 Diciembre 2008, 03:58 am
por WHK
funcion para validar email
Programación Visual Basic
bomba1990 2 4,592 Último mensaje 17 Julio 2009, 00:59 am
por seba123neo
Funcion para validar formulario en Firefox no funciona
Desarrollo Web
Crash_RPM 6 9,049 Último mensaje 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 7,743 Último mensaje 6 Diciembre 2014, 22:58 pm
por Orubatosu
calcular funcion edad con funcion fecha de nacimiento « 1 2 »
Programación C/C++
dragonlady 12 24,307 Último mensaje 28 Septiembre 2015, 22:37 pm
por 0xFer
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines