I have made a simple code to keep data of people in a structure and it occurred to me, to get the age of the person using the datedate method () subtract it in some way with the date of birth introduced ..
Code:
struct fecha{
int dia;
int mes;
int anio;
}fecha;
struct datosPersonales{
char DNI[10];
char nombre[30];
char apellidos[50];
struct fecha fechaNacimiento;
int seguridadSocial;
}persona[2];
//Prototipos de funciones
void introducirDatos();
void visualizarDatos();
void fechaActual();
int main()
{
printf("DATOS DE PERSONAS EN ESTRUCTURAS\n\n");
introducirDatos();
system("CLS");
printf("DATOS INTRODUCIDOS\n\n");
visualizarDatos();
fechaActual();
return 0;
}
void introducirDatos()
{
for(int i=0;i<2;i++)
{
fflush(stdin);
printf("Datos de la %d persona\n",i+1);
printf("DNI: ");
gets(persona[i].DNI);
printf("Nombre: ");
gets(persona[i].nombre);
printf("Apellidos: ");
gets(persona[i].apellidos);
printf("Fecha de nacimiento\n");
printf("Dia: ");
scanf("%d",&persona[i].fechaNacimiento.dia);
printf("Mes: ");
scanf("%d",&persona[i].fechaNacimiento.mes);
printf("A%co: ",164);
scanf("%d",&persona[i].fechaNacimiento.anio);
printf("Numero de la Seguridad Social: ");
scanf("%d",&persona[i].seguridadSocial);
printf("\n");
}
}
void visualizarDatos()
{
for(int i=0;i<2;i++)
{
printf("Datos de la %d persona\n",i+1);
printf("DNI = %s\n",persona[i].DNI);
printf("Nombre = %s\n",persona[i].nombre);
printf("Apellidos = %s\n",persona[i].apellidos);
printf("Fecha de nacimiento = %d/%d/%d\n",persona[i].fechaNacimiento.dia,persona[i].fechaNacimiento.mes,
persona[i].fechaNacimiento.anio);
printf("Numero de la Seguridad Social = %d\n\n",persona[i].seguridadSocial);
}
}
void fechaActual()
{
time_t tiempo = time(0);
struct tm *tlocal = localtime(&tiempo);
char output[128];
strftime(output,128,"%d/%m/%y",tlocal);
printf("%s\n",output);
}