Obrigado por toda a ajuda prestada,
Aqui está o código final e funcional.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
typedef struct Data {
int dia;
int mes;
int ano;
} DATA;
typedef struct Pessoa {
char nome[40];
DATA dt_nasc;
} PESSOA;
int main()
{
int month;
int day;
int year;
struct tm *current;
time_t timenow;
time(&timenow);
current = localtime(&timenow);
month = current->tm_mon+1;
day = current->tm_mday;
year = current->tm_year;
int np;
printf("Quantas pessoas deseja processar?\n");
scanf("%d",&np);
PESSOA p[np];
int i;
for (i=0; i<np ; i++){
printf("\nPessoa n.: %d",i+1);
printf("\nNome:");
scanf(" %39[^\n]%*c",p[i].nome);
printf("\nData de Nascimento:");
scanf("%d-%d-%d",&p[i].dt_nasc.dia,&p[i].dt_nasc.mes,&p[i].dt_nasc.ano);
}
printf("\n\tN. Pessoa\t|\tNome\t|\tData de Nascimento\t|");
for (i=0; i<np ; i++){
printf("\n\t%d\t \t\t%s\t \t%d-%d-%d\n\n", i+1,p[i].nome,p[i].dt_nasc.dia,
p[i].dt_nasc.mes,p[i].dt_nasc.ano);
}
for (i=0; i<np ; i++){
int idade;
idade=year - p[i].dt_nasc.ano;
if (p[i].dt_nasc.mes < month) || (p[i].dt_nasc.mes == month && p[i].dt_nasc.dia < day) {
printf("\n\n\nPessoa n.:%d tem %d anos.\n\n\n",i+1,idade);
} else if (p[i].dt_nasc.mes == month && p[i].dt_nasc.dia == day) {
printf("\n\n\nPessoa n.:%d tem %d anos hoje. PARABÉNS!\n\n\n",i+1,idade);
} else{
printf("\n\n\nPessoa n.:%d tem %d anos.\n\n\n",i+1,idade-1);
}
}
system("Pause");
return 0;
}
↧