@Flávio Pedroza @Midori Muito obrigada! Funcionou, porém está dando outro erro
Ao invés de exibir o nome da pessoa mais nova, está exibindo a letra "D", sendo que não foi isso que eu digitei
Testei o programa com apenas 3 pessoas para caber no print (a questão pede 6)
Segue o código novamente
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
struct nascimento{
char nome[40];
int dia,mes,ano;
};
int main(){
setlocale(LC_ALL,"Portuguese");
struct nascimento dados[6];
printf("\t\tCALCULANDO A MAIOR E MENOR IDADE ENTRE 5 PESSOAS\n\n");
for(int i=0;i<3;i++){
printf("Olá!\nPor favor, insira seu nome: ");
scanf("%s",dados[i].nome);
printf("%s, digite o dia que você nasceu: ",dados[i].nome);
scanf("%d",&dados[i].dia);
printf("%s, digite o mês que você nasceu: ",dados[i].nome);
scanf("%d",&dados[i].mes);
printf("%s, digite o ano que você nasceu: ",dados[i].nome);
scanf("%d",&dados[i].ano); printf("\n\n");
}
int diatual=24,mesatual=2,anoatual=2022,idmaisvelha=-1,idmaisnova=0;
char maisnova[40],maisvelha[40];
for (int i=0;i<3;i++){
int totalIdade=365*anoatual+30*mesatual+diatual-365*dados[i].ano-30*dados[i].mes-dados[i].dia;
if(totalIdade>idmaisvelha){
idmaisvelha=totalIdade;
strcpy(maisvelha,dados[i].nome);
}
if(totalIdade<idmaisnova){
idmaisnova=totalIdade;
strcpy(maisnova,dados[i].nome);
}
int anos=totalIdade/365;
totalIdade=totalIdade%365;
int meses=totalIdade/30;
totalIdade=totalIdade%30;
int dias=totalIdade;
printf("%s tem %d anos, %d meses e %d dias de idade.\n",dados[i].nome,anos,meses,dias);
}
printf("%s é a pessoa mais velha.\n %s é a pessoa mais nova.\n",maisvelha,maisnova);
system("pause");
}