Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/06/2012, 22:11
tebanpwz
 
Fecha de Ingreso: mayo-2012
Mensajes: 10
Antigüedad: 12 años, 5 meses
Puntos: 0
Ayudda... que tiene de malo este codigo en C?

El problema es que me da el resultado mal :(

tengo esto
Código:
#import <stdio.h>
#import <time.h>
 
time_t pideFechaNacimiento(){
        int dia, mes, ano;
        struct tm aux;
        time_t fec_nac;
        //struct date 
        printf("[?] Introduzca su fecha de nacimiento:\n");
        
        printf("\tdd:\t");
        scanf("%i", &dia);
        printf("\tmm:\t");
        scanf("%i", &mes);
        printf("\tyyyy:\t");
        scanf("%i", &ano);
        
        if ( ( dia < 1 ) || (dia > 31) || (mes < 1) || ( mes > 12) || ( ano < 1000) ){
                printf("[x] Error, fecha no valida");
                return 0;
        }
        
        aux.tm_mday = 17;
        aux.tm_mon = 7 - 1;
        aux.tm_year = 1988 - 1900;
        aux.tm_sec = 0;
        aux.tm_min = 0;
        aux.tm_hour = 0;
        aux.tm_isdst = 0;
        
        fec_nac = mktime(&aux);
 
        return fec_nac;
}
 
int segundosDesde(time_t fecha){
        time_t now;
        time(&now);
        
        return now - fecha;
}
 
int main(int argc, char* args[]){
        
        printf("[!] Has vivido %i segundos\n", segundosDesde( pideFechaNacimiento() ) );
        
        
        return 0;
}
un usuario del foro me dice que probablemente por que al obtener el tiempo actual me olvido de poner las horas, mins, segundos a cero.

Alguien me lo puede arreglar?
No se mucho de esto :(