Ir ao conteúdo

Posts recomendados

Postado

Foi realizada uma pesquisa entre 500 habitantes de uma certa região. De cada habitante foram coletados os
dados: idade, sexo, salário e número de filhos. Crie a estrutura de dados adequada para armazenar estas
informações. Acrescente também no programa um vetor para armazenar apenas um exemplar de 10
habitantes com as informações digitadas pelo usuário. Em seguida, calcule a média do salário desses
habitantes.

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

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
	
struct habitante{
	int idade;
	char sexo[1];
	float salario;
	int nFilhos;
}; 


int main(void) {

double media;

struct habitante habs[500];
for(int i = 0; i < 500; i++) {  
printf ("Entre com a idade, sexo, salario, e numero de filhos");
scanf("%d", &habs[i].idade);
scanf ("%c",&habs[i].sexo);
scanf ("%f",&habs[i].salario);
scanf ("%d",&habs[i].nFilhos);	
	
	
	

 

  • Amei 1
Postado

@tuliosanj1    seu código está bom , então coloque outro vetor com dez posições para os 10 exemplares  que pode ser os dez primeiros , e  seria melhor ir imprimindo qual dados o usuário deve inserir um por um  e depois desse loop você coloca outro loop e faz a soma dos  salários dos dez que estão no vetor de exemplares e depois divide por 10 ,  aí está a média .

  • Curtir 1
Postado

@devair1010 nao sei como fazer um outro vetor em baixo pois da forma que esta roda normal, so que quando add um novo nome para struct habitantes, tipo struct habitantes h; e faco outro ciclo com for, ele emenda com o ciclo de cima ,como se fosse 1 so, eu coloque 2 no vetor so para testar, dai coloquei 2 no vetor de baixo também, dai quando le aparece %3 e % 4 no vetor de baixo, e  nao %1 e %2 como deveria, mandei so a parte do codigo que funciona.

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

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
	
struct habitante{
	int idade;
	char sexo[1];
	float salario;
	int nFilhos;
}; 


int main(void) {
int i;
double media=0;

struct habitante habs[2];
for (i=0;i<habs;i++) {
printf (" Entre com os dados do morador %d\n",i) ;
printf ("Entre com a idade ");
scanf("%d", &habs[i].idade);
getchar ();
printf ("Entre com o sexo, m para masculino e f para feminino");
scanf ("%c",&habs[i].sexo);
getchar ();
printf ("Entre com o salario");
scanf ("%f",&habs[i].salario);
getchar ();
printf ("digite o numero de filhos");
scanf ("%d",&habs[i].nFilhos);	

}

 

  • Curtir 1
Postado
11 horas atrás, tuliosanj1 disse:

nao sei como fazer um outro vetor em baixo pois da forma que esta roda normal

Sim "roda normal" não significa dizer que está certo. Observe que a variável de controle na instrução FOR é uma referência, ou seja, inadequadamente vai de 0 até o valor do ponteiro do objeto habs.

 

11 horas atrás, tuliosanj1 disse:

struct habitante habs[2];
for (i=0;i<habs;i++) {
  ...
}

Isso não é Python !!!

 

 

Vale muito revisar o assunto, e só depois voltar ao problema.

Inclusive, venha sempre com dúvidas aqui no fórum enquanto estuda. Dessa maneira é mais produtivo (experiencia pessoal) que se esforçar, sem consolidação basica do assunto, para resolver esse tipo de questão prática.

 

Enunciado (Editado):

13 horas atrás, tuliosanj1 disse:

Foi realizada uma pesquisa entre 500 habitantes de uma certa região.

De cada habitante foram coletados os dados: idade, sexo, salário e número de filhos.

         I. Crie a estrutura de dados adequada para armazenar estas informações.

        II. Um vetor para armazenar apenas um exemplar de 10 habitantes

       III. Em seguida, calcule a média do salário desses habitantes com as informações digitadas pelo usuário.

 

 

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...