Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

viciado

Estrutura e Função 2

Recommended Posts

Foi realizada uma pesquisa sobre algumas características físicas de 50 habitantes de certa região. De cada habitante foram coletados os seguintes dados: sexo, altura, idade e cor dos olhos (a - azuis, v - verdes ou c - castanhos).

Faça um programa que leia esses dados, armazene-os em um registro tipo vetor e determine:

* a média da idade das pessoas com olhos castanhos e altura superior a 1,60 m

* a maior idade entre os habitantes

* a quantidade de indivíduos do sexo feminino com idade entre 20 e 45 anos (inclusive) ou que tenham olhos verdes e altura inferior a 1,70m

* o percentual de homens

 

 

Estou tendo prolemas nas linhas 16, 28 e 72. Não consigo determinar o erro para resolver

 

 

#include <stdio.h>
#include <stdlib.h>

#define M 3
struct 
	   {
		  int sexo;
		  float altura;
		  int idade;
		  char olhos[2];
		  }dados[M];
float media_id_olhos(){
	  int i;
	  int soma = 0;
	  for(i=0;i<M;i++){
			   if(dados[i].altura > 1,6 && dados[i].olhos == 'c'){
								  soma = soma + dados[i].idade;
								  }
	  float media;
	  media = soma/2;
	  return(media);
}
int individuos(){
	int i;
	int count;
	for(i=0;i<M;i++){
				if(dados[i].sexo = 2){
								 if(dados[i].idade >19 && dados[i].idade <46 || dados[i].olhos == 'v' && dados[i].altura < 1,7){
												   count ++;
												   }
												   }
												   }
	return (count);
}
float percentual(){
	  int i;
	  int count;
	  for(i=0;i<M;i++){
				  if(dados[i].sexo == 1)
				  count ++;
				  }
	  float perc;
	  perc = (count * 100)/M;
	  return (perc);
}
int maior(){
	int i;
	int maior;
	maior = dados[0].idade;
	for(i=0;i<M;i++){
				if(dados[i].idade > maior){
								  maior = dados[i].idade;
								  }
								  }
	return (maior);
}
int main()
{
  int i;
  for(i=0;i<M;i++){
			   printf("Informe o seu sexo:\n (1)Masculino   (2)Feminino \n");
			   scanf("%d",&dados[i].sexo);
			   printf("Digite sua altura \n");
			   scanf("%f",&dados[i].altura);
			   printf("Digite sua idade \n");
			   scanf("%d",&dados[i].idade);
			   printf("Informe a cor dos seus olhos: \n (a) azuis\n (v) verdes\n (c) castanhos \n");
			   scanf("%s",&dados[i].olhos);
			   }
  system("PAUSE");	
  return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou tendo problema de logica pq as respostas nao estao corretas

 

#include <stdio.h>
#include <stdlib.h>

#define M 3
struct 
	   {
		  int sexo;
		  float altura;
		  int idade;
		  char olhos[2];
		  }dados[M];
float media_id_olhos(){
	  int i;
	  int soma = 0;
	  for(i=0;i<M;i++){
			   if(dados[i].altura > 1.6 && dados[i].olhos == 'c'){
								  soma = soma + dados[i].idade;
								  }
								  }
	  float media;
	  media = soma/2;
	  return(media);
}
int individuos(){
	int i;
	int count;
	for(i=0;i<M;i++){
				if(dados[i].sexo = 2){
								 if(dados[i].idade >19 && dados[i].idade <46 || dados[i].olhos == 'v' && dados[i].altura < 1.7){
												   count ++;
												   }
												   }
												   }
	return (count);
}
float percentual(){
	  int i;
	  int count;
	  for(i=0;i<M;i++){
				  if(dados[i].sexo == 1)
				  count ++;
				  }
	  float perc;
	  perc = (count * 100)/M;
	  return (perc);
}
int maior(){
	int i;
	int maior;
	maior = dados[0].idade;
	for(i=0;i<M;i++){
				if(dados[i].idade > maior){
								  maior = dados[i].idade;
								  }
								  }
	return (maior);
}
int main()
{
  int i;
  for(i=0;i<M;i++){
			   printf("Informe o seu sexo:\n (1)Masculino   (2)Feminino \n");
			   scanf("%d",&dados[i].sexo);
			   printf("Digite sua altura \n");
			   scanf("%f",&dados[i].altura);
			   printf("Digite sua idade \n");
			   scanf("%d",&dados[i].idade);
			   printf("Informe a cor dos seus olhos: \n (a) azuis\n (v) verdes\n (c) castanhos \n");
			   scanf("%s",&dados[i].olhos);
			   }
			   printf("A media da idade das pessoas com os olhos castanhos e: \n %f \n",media_id_olhos());
			   printf("A maior idade entre os habitantes e: \n %d \n",maior());
			   printf("A quantidade mulher entre 20 e 45 anos ou com olhos verdes e altura menor que 1,7m \n %d \n",individuos());
			   printf("O percentual de homens e: \n %f \n",percentual());
  system("PAUSE");	
  return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.