Faça um programa que simule uma pesquisa do IBGE em Mossoró, que receba a Idade, o Peso, a Altura e o Sexo (M-Masculino ou F-Feminino) para um número indeterminado de pessoas. Deve-se calcular e mostrar:
· A percentagem de pessoas, individualizado pelo sexo;
· A idade do entrevistado mais velho e do entrevistado mais jovem;
· A média da altura e do peso dos entrevistados;
Obs.: Prepare o programa para o teste com quantas pessoas o usuário desejar, você deve colocar uma ordem de parada.
Soluções para a tarefa
Resposta:
#include<stdio.h>
typedef struct
{
int idade;
float peso, altura;
char sexo;
}
Pessoa;
int main()
{ int i, n=3, m=0, f=0, maior_idade=0, menor_idade=999; // Iniciei a menor_idade com um valor grande, para garantir que a lógica da seleção de menor idade funcionasse corretamente.
Pessoa vet[n];
float mediaM, mediaF, total_altura=0, media_altura, total_peso=0, media_peso;
for(i=0; i<n; i++)
{
printf("ENTRE COM A IDADE DA PESSOA NUMERO %d: \n\n", i);
scanf(" %d", &vet[i].idade);
printf("ENTRE COM PESO DA PESSOA NUMERO %d: \n\n ", i);
scanf(" %f", &vet[i].peso);
printf("ENTRE COM A ALTURA DA PESSOA NUMERO %d: \n\n ", i);
scanf(" %f", &vet[i].altura);
printf("ENTRE COM O SEXO (m OU f) DA PESSOA NUMERO %d: \n\n ", i);
scanf(" %c", &vet[i].sexo);
}
for(i=0; i<n; i++)
{
if(vet[i].sexo=='m')
{
m=m+1;
}
else
{
f=f+1;
}
if(vet[i].idade>maior_idade)
{
maior_idade=vet[i].idade;
}
if(vet[i].idade<menor_idade)
{
menor_idade=vet[i].idade;
}
total_altura=vet[i].altura+total_altura;
total_peso=vet[i].peso+total_peso;
}
mediaM=((float) m/n)*100; // Tive que forçar a variável m e f a se tornarem tipo float para realizar essa operação.
mediaF=((float) f/n)*100;
media_altura = total_altura/n;
media_peso = total_peso/n;
printf("A PORCENTAGEM DE HOMENS E: %.2f \n\n", mediaM);
printf("A PORCENTAGEM DE MULHERES E: %.2f \n\n", mediaF);
printf("A MAIOR IDADE E: %d \n\n", maior_idade);
printf("A MENOR IDADE E: %d \n\n", menor_idade);
printf("A MEDIA DAS ALTURAS E: %f \n\n", media_altura);
printf("A MEDIA DOS PESOS E: %f \n\n", media_peso);
return 0;
}
Este é o código, basta copiar e testar.
Como não especificou, usei a linguagem C.
Qualquer dúvida estou a disposição.