Ir para conteúdo

POWERED BY:

Arquivado

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

viciado

Programa pesquisa

Recommended Posts

Foi realizada uma pesquisa entre quinze habitante de uma região. Foram coletados estes dados de cada habitante: idade, sexo, salário e número de filhos.

 

Informe a média do salário entre os habitantes, a menor e a maior idade do grupo e a quantidade de mulheres com três filhos que recebem até R$500,00

 

 

 

#include <stdio.h>
#include <stdlib.h>
float media(int salario[][j]){
	  float media;
	  media = 0;
	  int count;
	  for(count=0;count<15;count++){
		  media = media + salario[i][count];
		  }
	  float total;
	  total = (media)/(15);
	  return(total);
}
int maior(int idade[i][j]){
	int maior = idade[0][0];
	int i,j;
	for(i=0;i<15;i++)
	   for(j=0;j<15;j++){
			  if(idade[i][j] > maior){
							 maior = idade[i][j];
							 }
							 }
	return(maior);
}
int menor(int idade[i][j]){
	int menor = idade[0][0];
	int i,j;
	for(i=0;i<15;i++)
	   for(j=0;j<15;j++){
			  if(idade[i][j] < menor){
							 menor = idade[i][j];
							 }
							 }
	return(menor);
}
int filhos(char sexo[i][j], int salario[i][j], int filhos[i][j]){
	int i,j;
	int count;
	for(i=0;i<15;i++)
	   for(j=0;j<15;j++){
			  if(sexo[i][j]==feminino){
					 for(i=0;i<15;i++)
						for(j=0;j<15;j++){
							if(filhos[i][j]==3){
							   for(i=0;i<15;i++)
								  for(j=0;j<15;j++){
									 if(salario[i][j]<=500){
									   coun++;
									   }
									   }
									   }
									   }
									   }
									   }
	   return(count);
}									   
int main(){
  char sexo[15][20];
  int idade[15][15];
  int salario[15][15];
  int filhos[15][15];
  int i,j;
  for(i=0;i<15;i++){
		 printf("Digite o sexo\n");
		 gets(sexo[i]);
		 }
  for(i=0;i<15;i++)
	 for(j=0;j<15;j++){
			printf("Informe a idade\n");
			scanf("%d",&idade[i][j]);
			}
  for(i=0;i<15;i++)
	 for(j=0;j<15;j++){
			printf("Informe o salario\n");
			scanf("%d",&salario[i][j]);
			}
  for(i=0;i<15;i++)
	 for(j=0;j<15;j++){
			printf("Informe o numero de filhos\n");
			scanf("%d",&filhos[i][j]);
			}
  printf("A media de salario entre habitantes e: \n %f\n",media(salario[i][j]));
  printf("A maior idade do grupo e: \n %d \n",maior(idade[i][j]));
  printf("A menor idade do grupo e: \n %d \n",menor(idade[i][j]));
  printf("A quantidade de mulheres com 3 filhos que recebem ate R$500 e: \n %d \n",filhos(sexo[i][j], salario[i][j], filhos[i][j])); 
  system("PAUSE");	
  return 0;
}

 

Tem muitos erros mais a ideia do que eu fiz esta correto? Quais seriam os erros e cmo eu poderia arrumar?

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentou compilar o código?

 

Você não pode definir uma função assim:

tipo funcai(tipo vetor)

 

Não faz sentido colocar variáveis nos índices. Coloque constantes.

 

 

A variável "total", na função "media", é desnecessária. Pode fazer assim logo após o loop:

 

media /= 15;
Isso atribui a "media" o valor de "media/15"

 

 

Por que todos os vetores são bidimensionais?

 

Por que há um loop dentro do IF que verifica se a pessoa é do sexo feminino?

 

 

Pense bem no programa antes de começar a digitá-lo.

 

 

PS: Novamente, USE AS TAGS CODE. Por favor... desse jeito é triste analisar um código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentou compilar o código?

 

Você não pode definir uma função assim:

tipo funcai(tipo vetor)

 

Não faz sentido colocar variáveis nos índices. Coloque constantes.

 

 

A variável "total", na função "media", é desnecessária. Pode fazer assim logo após o loop:

 

media /= 15;
Isso atribui a "media" o valor de "media/15"

 

 

Por que todos os vetores são bidimensionais?

 

Por que há um loop dentro do IF que verifica se a pessoa é do sexo feminino?

 

 

Pense bem no programa antes de começar a digitá-lo.

 

 

PS: Novamente, USE AS TAGS CODE. Por favor... desse jeito é triste analisar um código.

 

#include <stdio.h>
#include <stdlib.h>
float media(int salario[15][15]){
	  float media;
	  media = 0;
	  int count;
	  for(count=0;count<15;count++){
	  media = media + salario[i][count];
	  }
	  float total;
	  total = (media)/(15);
	  return(total);
}
int maior(int idade[15][15]){
	int maior = idade[0][0];
	int i,j;
	for(i=0;i<15;i++)
	for(j=0;j<15;j++){
	if(idade[i][j] > maior){
	maior = idade[i][j];
	}
	}
	return(maior);
}
int menor(int idade[i][j]){
	int menor = idade[0][0];
	int i,j;
	for(i=0;i<15;i++)
	for(j=0;j<15;j++){
	if(idade[i][j] < menor){
	menor = idade[i][j];
	}
	}
	return(menor);
}
int filhos(char sexo[15][20], int salario[15][15], int filhos[15][15]){
	int i,j;
	int count;
	for(i=0;i<15;i++)
	for(j=0;j<15;j++){
	if(sexo[i][j]==feminino){
	for(i=0;i<15;i++)
	for(j=0;j<15;j++){
	if(filhos[i][j]==3){
	for(i=0;i<15;i++)
	for(j=0;j<15;j++){
	if(salario[i][j]<=500){
	coun++;
	}
	}
	}
	}
	}
	}
	return(count);
}
int main(){
	char sexo[15][20];
	int idade[15][15];
	int salario[15][15];
	int filhos[15][15];
	int i,j;
	for(i=0;i<15;i++){
	printf("Digite o sexo\n");
	gets(sexo[i]);
	}
	for(i=0;i<15;i++)
	for(j=0;j<15;j++){
	printf("Informe a idade\n");
	scanf("%d",&idade[i][j]);
	}
	for(i=0;i<15;i++)
	for(j=0;j<15;j++){
	printf("Informe o salario\n");
	scanf("%d",&salario[i][j]);
	}
	for(i=0;i<15;i++)
	for(j=0;j<15;j++){
	printf("Informe o numero de filhos\n");
	scanf("%d",&filhos[i][j]);
	}
	printf("A media de salario entre habitantes e: \n %f\n",media(salario[i][j]));
	printf("A maior idade do grupo e: \n %d \n",maior(idade[i][j]));
	printf("A menor idade do grupo e: \n %d \n",menor(idade[i][j]));
	printf("A quantidade de mulheres com 3 filhos que recebem ate R$500 e: \n %d \n",filhos(sexo[i][j], salario[i][j], filhos[i][j]));
	system("PAUSE");
	return 0;
}

Verifica o sexo pq pede as mulheres com três filhos que recebem até R$500,00

Compartilhar este post


Link para o post
Compartilhar em outros sites

Releia o que postei sobre a declaração das funções.

 

Não entendi o objetivo de usar vetores bidimensionais. Explique-me o que pensou.

Para mim, bastaria:

 

salario[pessoa_0] = x

salario[pessoa_1] = y

...

 

Tentou compilar o código? Compilando você pdoe ver os erros.

Olhe o que apareceu aqui:

$ gcc -Wall teste.c -o teste && ./teste

teste.c: Na função ‘media’:

teste.c:8: erro: ‘i’ undeclared (first use in this function)

teste.c:8: erro: (Each undeclared identifier is reported only once

teste.c:8: erro: for each function it appears in.)

teste.c: No nivel superior:

teste.c:25: erro: ‘i’ undeclared here (not in a function)

teste.c:25: erro: ‘j’ undeclared here (not in a function)

teste.c: Na função ‘filhos’:

teste.c:41: erro: ‘feminino’ undeclared (first use in this function)

teste.c:48: erro: ‘coun’ undeclared (first use in this function)

teste.c: Na função ‘main’:

teste.c:82: aviso: passing argument 1 of ‘media’ makes pointer from integer without a cast

teste.c:83: aviso: passing argument 1 of ‘maior’ makes pointer from integer without a cast

teste.c:84: erro: type of formal parameter 1 is incomplete

teste.c:85: erro: called object ‘filhos’ is not a function

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.