Ir para conteúdo
Fórum Script Brasil
  • 0

Strings: relatório de dados


brunnorodrigues

Pergunta

Já ando bem bugado com esses exercícios, viu? (rsrs) Este é o número 5 de uma lista de strings que tenho que apresentar na faculdade. Não consigo sair dos erros que ele está apontando. No meu entendimento, funcionaria assim. Alguém poderia dar uma olhada e me apontar o que errei, por favor? Desde já, obrigado.

/*
5) Foi realizada uma pesquisa de algumas características físicas da população de uma 
certa região, a qual coletaram os seguintes dados referentes a cada habitante para serem 
analisados: 
- sexo (masculino e feminino) 
- cor dos olhos (azuis, verdes ou castanhos) 
- cor dos cabelos (louros, castanhos, pretos) 
- idade 
Faça um algoritmo que determine e escreva: 
a) a maior idade dos habitantes; 
b) a quantidade de indivíduos do sexo feminino cuja idade está entre 18 e 35 anos, 
inclusive; 
c) a quantidade de indivíduos que tenham olhos verdes e cabelos louros; 
O final do conjunto de habitantes é reconhecido pelo valor -1 informado como idade. 
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<locale.h>

	int habitantes=0,contador=1,idade,maioridade=0,mulheresentre18e35,olhosverdesecabeloslouros;
	char sexo[10],corolhos[10],corcabelos[10];

void cadastra(){
	for(habitantes=0;habitantes<contador;habitantes++){
		printf("Cadastrando o %iº habitante:\n",habitantes+1,contador=contador+1);
		printf("Idade (digite -1 para parar os cadastros): ");
		scanf("%i",&idade);
		if(idade<0){
			system("cls");
			break;
		}
		printf("Sexo (masculino ou feminino): ");
		fflush(stdin);fgets(sexo,10,stdin);
		printf("Cor dos olhos (azuis, verdes ou castanhos): ");
		fflush(stdin);fgets(corolhos,10,stdin);
		printf("Cor dos cabelos (louros, castanhos, pretos): ");
		fflush(stdin);fgets(corcabelos,10,stdin);
		system("cls");
	}
}

void processa(){
	for(habitantes=0;habitantes<contador;habitantes++){
		if(idade>maioridade){
			maioridade=idade;
		}
		if(sexo[habitantes]=='mulher'||idade>=18||idade<=35){
			mulheresentre18e35=strlen(habitantes);
			mulheresentre18e35=mulheresentre18e35+1;
		}
		if(corolhos[habitantes]=='verdes'||corcabelos[habitantes]=='louros'){
			olhosverdesecabeloslouros=strlen(habitantes);
			olhosverdesecabeloslouros=olhosverdesecabeloslouros+1;
		}
	}
}

void exibe(){
	printf("Relatório de dados dos habitantes desta região:\n");
	for(habitantes=0;habitantes<contador;habitantes++){
	printf("%i é a maior idade entre eles;\n",maioridade);
	printf("%i pessoas são mulheres, com idade entre 18 e 35 anos; e\n",mulheresentre18e35);
	printf("%i indivíduos tem olhos verdes e cabelos louros.",olhosverdesecabeloslouros);
	}
}

main(){
setlocale(LC_ALL,"Portuguese");

	cadastra();
	processa();
	exibe();

return 0;
}

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...