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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  algoritmo de la edad
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: algoritmo de la edad  (Leído 43,019 veces)
Siuto
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.587


Que puedo decir??


Ver Perfil WWW
Re: algoritmo de la edad
« Respuesta #10 en: 27 Octubre 2005, 04:39 am »

Vos me estas cargando, como que no anda en esa fecha??
Ahi esta compilado como que naciste 1/12/1973 y dice q tens 31

Código:
#include<stdio.h>

int main()
{
    int edad=0;
    int dia=1; /* dia en que naciste */
    int mes=12; /* mes en que nasiste */
    int ano=1973; /* año en el que naciste */
   
    while(ano<2005) /* año actual */
    {
        printf("En %d mi edad era %d años.\n", ano, edad);
        edad++;
        ano++;       
    }
   
    if(mes<10) printf("En %d mi edad es %d años.\n", ano, edad);
    if(mes==10 && dia<=26) printf("En %d mi edad es %d años.\n", ano, edad);
}
Compilado de esta forma con Turbo C 2.01

Código:
En 1973 mi edad era 0 años.
En 1974 mi edad era 1 años.
En 1975 mi edad era 2 años.
En 1976 mi edad era 3 años.
En 1977 mi edad era 4 años.
En 1978 mi edad era 5 años.
En 1979 mi edad era 6 años.
En 1980 mi edad era 7 años.
En 1981 mi edad era 8 años.
En 1982 mi edad era 9 años.
En 1983 mi edad era 10 años.
En 1984 mi edad era 11 años.
En 1985 mi edad era 12 años.
En 1986 mi edad era 13 años.
En 1987 mi edad era 14 años.
En 1988 mi edad era 15 años.
En 1989 mi edad era 16 años.
En 1990 mi edad era 17 años.
En 1991 mi edad era 18 años.
En 1992 mi edad era 19 años.
En 1993 mi edad era 20 años.
En 1994 mi edad era 21 años.
En 1995 mi edad era 22 años.
En 1996 mi edad era 23 años.
En 1997 mi edad era 24 años.
En 1998 mi edad era 25 años.
En 1999 mi edad era 26 años.
En 2000 mi edad era 27 años.
En 2001 mi edad era 28 años.
En 2002 mi edad era 29 años.
En 2003 mi edad era 30 años.
En 2004 mi edad era 31 años.
Ejecucion del programa en MS-DOS


En línea

heap

Desconectado Desconectado

Mensajes: 273



Ver Perfil WWW
Re: algoritmo de la edad
« Respuesta #11 en: 27 Octubre 2005, 05:32 am »

No es mas facil hacer una resta ???????????/
haber si hoy es el octubre de 2005 y yo naci en 1986 tengo ?
2005 - 1986 = 19 //suponiendo que cumpla antes de octubre
luego un simple if statement
if (current_month > month_birtday){
edad--;
}
else if(month_birthday == current_month){
if( day_birthday > current_day){
edad--;
}
bueno eso seria para calcular la edad, pero necesitas conocer el dia en el que estas.
#include<time.h>
       fecha = time (NULL);
       tiempo_local = localtime (&fecha); //lo pasas a tiempo local
para sacar datos es por ejemplo, el mes mas grande es diciembre, eso en espa~ol, en ingles es january, define un array de 20 chars para el month y haz algo como
  strftime (month, SIZE, %A, loctime);
etx etx etx, puedes hacer calculos infinitos de if statements, dependiendo de la precision que quieras, por ejemplo si son las 7 de la noche y yo naci a las 8 tienes que hacer un if, y asi sucecivamente, hasta que tan preciso quieres ser.


« Última modificación: 27 Octubre 2005, 05:38 am por heap » En línea

Siuto
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.587


Que puedo decir??


Ver Perfil WWW
Re: algoritmo de la edad
« Respuesta #12 en: 27 Octubre 2005, 16:21 pm »

etx etx etx, puedes hacer calculos infinitos de if statements, dependiendo de la precision que quieras, por ejemplo si son las 7 de la noche y yo naci a las 8 tienes que hacer un if, y asi sucecivamente, hasta que tan preciso quieres ser.
Fue por esto que yo en un principio lo hice solo con los años y no le agregue meses y dias.

Pero exageraste un poquito con eso de infinitos, porq dudo que en mi partida de nascimiento diga en que milesima de segundo naci...
En línea

Ragnarok
Colaborador
***
Desconectado Desconectado

Mensajes: 4.590


Shrödingerificado


Ver Perfil
Re: algoritmo de la edad
« Respuesta #13 en: 27 Octubre 2005, 21:59 pm »

Casi, sería así:

Citar
if (current_month < month_birtday){
edad--;
}
else if(month_birthday == current_month){
if(day_birthday > current_day){
edad--;
}

Pasar a días es muy cansino porque cada mes tiene una cantidad distinta de días y los febreros además dependen del año.

Por último hay funciones que te dan la fecha y hora actual: http://c.conclase.net/librerias/libreria.php?lib=time
En línea

No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones
Kpax


Desconectado Desconectado

Mensajes: 316



Ver Perfil
Re: algoritmo de la edad
« Respuesta #14 en: 27 Octubre 2005, 22:40 pm »

si consideras los bisisestos es mejor calcular el numero de dias q trancurrieron !
saludos
En línea

En este mundo una de dos
Ragnarok
Colaborador
***
Desconectado Desconectado

Mensajes: 4.590


Shrödingerificado


Ver Perfil
Re: algoritmo de la edad
« Respuesta #15 en: 27 Octubre 2005, 22:59 pm »

si consideras los bisisestos es mejor calcular el numero de dias q trancurrieron !
saludos


uhm..., no. Si no calculas el numero de dias no hace falta que tengas en cuenta los bisiestos, sale igual.
En línea

No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones
Kpax


Desconectado Desconectado

Mensajes: 316



Ver Perfil
Re: algoritmo de la edad
« Respuesta #16 en: 28 Octubre 2005, 16:45 pm »

seguro??

Creo que si hace falta al calcular el numero de dias...es decir tu edad exacta con dias y todo...pro si es solo años no recuerdo bien si falla con dias limites como 31 de dic o29 fde febrero.
En línea

En este mundo una de dos
Siuto
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.587


Que puedo decir??


Ver Perfil WWW
Re: algoritmo de la edad
« Respuesta #17 en: 28 Octubre 2005, 20:58 pm »

seguro??

Creo que si hace falta al calcular el numero de dias...es decir tu edad exacta con dias y todo...pro si es solo años no recuerdo bien si falla con dias limites como 31 de dic o29 fde febrero.
Lo que decis es verdad pero si tenes en cuenta tu cumpleaños desde ese punto de vista, atravez de tu vida iria cambiando la fecha de cumpleaños.

Si yo naci el 6de Septiembre y cuento mi cumpleaños por dias y no por años, el una X cant de años empesaria a cumplir el 7 y nadie lo piensa asi...
En línea

heap

Desconectado Desconectado

Mensajes: 273



Ver Perfil WWW
Re: algoritmo de la edad
« Respuesta #18 en: 29 Octubre 2005, 01:08 am »

Hmm creo que me malinterpretaron: al comparar el # de dias, no importa si el mes tiene 10 o 20 o 1000, yo no calculo los a~os vividos, sino mas bien si ya cumplio otro a~o o no. Por ejemplo si nacio el 10 de febero de X y hoy es 9 de febrero y resto 2005 - X voy a tener 1 a~o de mas, por ello miro si el mes es igual y luego comparo el dia de nacido con el dia de hoy, si el dia de nacido es menor, no hago nada, si es mayor resto 1. Eso despues de asegurarme que el mes es > o = al de nacido. sino simplemente resto 1. Luego uno tambien podria mirar si el dia son iguales, y comparar las horas...........etx, etx
En línea

alking303

Desconectado Desconectado

Mensajes: 6


[tHE rEASON]


Ver Perfil
Re: algoritmo de la edad
« Respuesta #19 en: 4 Noviembre 2005, 18:36 pm »

oe hombre no sas abusivo pes como no vas a saber eso pe s
ayay que pena ah pero aca te va una ayuda pes
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{int aa,an,ed;/aa=año actual an=año de nacimiento ed=edad
  cout<<"Año de nacimiento: ";
  cin>>an;     
  cout<<"Año de actual: ";
  cin>>an; 
ed=aa-an;
cout<<"Edad de nacimiento: "<<ed;
getch();
}
ya lo tienes ok bey saludos ;)
               
En línea

[tHE rEASON]
Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines