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();return0;}
Pergunta
brunnorodrigues
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.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.