Eu fiz esse programa, so que na hora de compilar não esta printando a media de alturas e pesos. #include <stdio.h>
#include <stdlib.h>
#define TAMANHO 5
typedef struct{
char nome[128];
int peso;
double altura;
}REGISTRO;
void LerVetorRegistro(REGISTRO *R,int i){
int x=0;
while(x<5){
printf("\nDigite seu nome: ");
gets(R[x].nome);
fflush(stdin);
printf("Digite sua peso: ");
scanf("%i",&R[x].peso);
fflush(stdin);
printf("Digite sua altura: ");
scanf("%lf",&R[x].altura);
fflush(stdin);
x++;
}
}
void MostrarVetorRegistro(REGISTRO *R, int i){
int x=0;
while(x<TAMANHO){
printf("\nNome: %s",R[x].nome);
printf("\nPeso: %i",R[x].peso);
printf("\nAltura: %lf",R[x].altura);
x++;
}
}
float CalcularMediaAlturas(REGISTRO *R, int i){
int x;
float z=0,y=0;
x=i;
while(x>0){
y=y+R[x].altura;
y--;
}
y=y/i;
return y;
}
int CalcularMediaPesos(REGISTRO *R, int i){
int x;
float z=0;
x=i;
while(x>0){
z=z+R[x].peso;
x--;
}
z=z/i;
return z;
}
void MostrarInfoGerais(REGISTRO *R, int i,double alt,double peso){
float y;
int z;
MostrarVetorRegistro(R,TAMANHO);
printf("\nPeso medio e: %lf\n\nAltura media e: %lf \n",peso,alt);
}
int main()
{
REGISTRO R[TAMANHO];
double alt_media , peso_medio;
LerVetorRegistro(R,TAMANHO);
MostrarVetorRegistro(R,TAMANHO);
alt_media = CalcularMediaAlturas(R,TAMANHO);
peso_medio = CalcularMediaPesos(R,TAMANHO);
MostrarInfoGerais(R,TAMANHO,alt_media,peso_medio);
return 0;
}