Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda con TURBO C

Estas en el tema de Ayuda con TURBO C en el foro de C/C++ en Foros del Web. Necesito calcular cuantos años dias y meses q ha vivido el usuario con tan solo introducir la fecha de nacimiento(dia, mes y año) pero el ...
  #1 (permalink)  
Antiguo 06/08/2010, 14:00
 
Fecha de Ingreso: agosto-2010
Mensajes: 1
Antigüedad: 14 años, 3 meses
Puntos: 0
Ayuda con TURBO C

Necesito calcular cuantos años dias y meses q ha vivido el usuario con tan solo introducir la fecha de nacimiento(dia, mes y año) pero el problema es cuando intento introducir la fecha actual ejemplo: 06/08/2010 me da error
necesito toda la ayuda posible

hasta ahora tengo esto , las variables a son de años, las m son meses y las d son dias:

#include<stdio.h>
#include<conio.h>


main(){
int a1,a2,a3,a4,m1,m2,m3,m4,d1,d2,d3,d4;

printf("Introduce tu fecha de nacimiento(dia/mes/año)");
scanf("%i",&d1);
scanf("%i",&m1);
scanf("%i",&a1);

printf("Introduce la fecha actual(dia/mes/año)");
scanf("%i",&d2);
scanf("%i",&m2);
scanf("%i",&a2);

d3=d2-d1;
m3=m2-m1;
a3=a2-a1;

if(m3>0) {
a3=a3-1;
m3=m3+12;
}

if(d3>0){
m3=m3-1;
d3=d3+30;
}

printf("%i dias ,%i meses ,%i a¤os",d3,m3,a3);

getch();

}
  #2 (permalink)  
Antiguo 08/08/2010, 01:06
Avatar de gvite666  
Fecha de Ingreso: abril-2010
Mensajes: 65
Antigüedad: 14 años, 7 meses
Puntos: 4
Respuesta: Ayuda con TURBO C

hola betaforever sabes lo que pasa es andas atacando mal el problema porque meterse con fechas es mas complicado de lo que parece. Mira yo ya tengo el programa, pero aqui no se trata de que copies y peges, se trata de que aprendas, asi que primero tienes que validar las fechas y para que veas que no soy malo te mando la funcion:
Código C:
Ver original
  1. bool ValidaFecha(int dia,int mes,int anio)
  2. {
  3.     bool Fecha;
  4.     int janio;
  5.  
  6.     if (dia<1||dia>31)//dia minimo y maximo de ingreso
  7.         Fecha=false;
  8.     else
  9.         Fecha=true;
  10.     if(mes<1||mes>12)//mes minimo y maximo de ingreso
  11.     {
  12.         Fecha=false;
  13.     }
  14.     else//Toda la validacion en cuanto al dia y al mes
  15.     {
  16.         if (mes==2&&dia>29)
  17.         {
  18.             Fecha=false;
  19.         }
  20.         if ((mes==4||mes==6||mes==9||mes==11)&&dia>30)
  21.         {
  22.             Fecha=false;
  23.         }
  24.     }
  25.     if(anio<1900||anio>3000)//año minimo y maximo de ingreso
  26.     {
  27.         Fecha=false;
  28.     }
  29.     else
  30.     {
  31.         if(mes==2)//validacion de año en cuanto a si es bisiesto o no
  32.         {
  33.             janio=1900;
  34.             while(anio>janio)
  35.             {
  36.                 janio=janio+4;
  37.             }
  38.             if(anio!=janio&&dia==29)
  39.             {
  40.                 Fecha=false;
  41.             }
  42.         }
  43.     }
  44.     return Fecha;
  45. }
Asi con esto puedes validar cualquier fecha Si fecha es igual a TRUE pues es una fecha valida. Con esto espero te des una idea de lo que tienes que hacer y si no hay te va, ahora que sabes que las fechas son correctas tienes que recorrer dia a dia hasta llegar a tu fecha actual. Espero que puedas hacerlo.
Saludos.

Etiquetas: turbo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:19.