Olá, tenho que fazer os itens 2 e 3 do main , alguém pode me ajudar? Estou com muita dificuldade...
#include<stdio.h>
#include<stdlib.h>
typedef struct{
int dia, mes, ano;
}Data;
typedef struct{
char nome[30];
float altura;
}Pessoa[10];
Pessoa pessoa;
int i=0;
void CriaData(Data d){
d.mes = 1 + (rand() % 12);
d.ano = 1950 + (rand() % 69);
d.dia = 1 + (rand() % 30);
printf("\n%d-",d.dia);
printf("\n%d-",d.mes);
printf("\n%d",d.ano);
}//fim do criar data
void DadosPessoais(){
getchar();
printf("Digite seu Nome: ");
gets(pessoa[i].nome);
printf("Digite sua Altura: ");
scanf("%f",&pessoa[i].altura);
i++;
}//fim do DadosPessoais
int main(){
Data teste;
int resp,cont=0;
do{
printf("\nO que deseja fazer: \n");
printf("1 - Cadastro: \n");
printf("2 - Listar todos os nomes e respectivas alturas \n");
printf("3 - Listar os nomes das pessoas que nasceram antes de uma certa data\n");
printf("0 - Sair\n");
scanf("%d",&resp);
int resp2=1;
switch (resp){
case 1:
while(resp2!=0){
DadosPessoais();
cont++;
printf("Deseja Fazer um novo Cadastro digite 1 para continuar e 0 para finalizar");
scanf("%d",&resp2);
}//fim do while
break;
case 2:
for(int j=0;j<cont;j++){
puts(pessoa[j].nome);
printf("%f",pessoa[j].altura);
}//fim do for
break;
case 3:
printf("\nNada ainda\n");
break;
default:
exit(0);
}//fim do switch
}while(resp!=0);
}//fim do main