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

Dúvida em exercício


arenatinhanunes

Pergunta

Boa noite! Preciso resolver o seguinte problema: Elabore um programa em C que processe uma pesquisa sobre algumas características físicas da população de uma certa região. Devem ser coletados os seguintes dados referentes a cada habitante para serem analisados:

A) Quantidade de Homens e Mulheres que responderam a pesquisa

B) O nome e a idade do Habitante mais velho

C)O nome e a quantidade de mulheres com idade de 18 a 35 anos

D) O nome e a idade dos homens loiros e de olhos azuis.

*Meu grande problema é: Quando peço para continuar a pesquisar e inserir nome, cor dos olhos, cor dos cabelos e idade, ao invés dele ir para a primeira pergunta: "Qual seu nome?", ele vai para "Qual seu sexo?" e segue com as outras perguntas.

Além do mais não consegui colocar uma string usando um vetor de caracteres. Imprimi o nome com um carácter somente:  "A", "B","C" e assim por diante. 

Alguém pode me dizer como resolver esses problemas?

P.s: Abaixo segue o meu código em C

Obrigada desde de então! P.s.: Sou iniciante em programação e linguagem C, agradeço muito a ajuda de vocês.

 

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

int main (){
struct senso{
  char nome;
  int idade,cc,co,sexo;
};

struct senso lista[20]={0}; 
int i=0,x,Qh=0,Qm=0,ih_velho,qtd18_35=0,id_loiro_azul[10]={0};
char nh_velho,n18_35[10]={0},nhm_loiro_azul[10]={0};

while (i<=2){
  printf ("Qual é o seu nome?\n");
  scanf("%c",&lista.nome);  
  printf ("Qual é o seu sexo?\n[1]M\n[2]F\n");
  scanf ("%d",&lista.sexo);
  printf ("Qual é a sua idade?\n");
  scanf ("%d",&lista.idade);
  printf ("Qual é a cor do seu cabelo?\n[1]Loiro\n[2]Castanhos\n[3]Pretos\n");
  scanf ("%d",&lista.cc);
  printf ("Qual é a cor dos seus olhos?\n[1]Azuis\n[2]Verdes\n[3]Castanhos\n");
  scanf ("%d",&lista.co);

printf("Deseja continuar?\n[1]Sim\n[2]Não\n");
scanf("%d",&x);
system("clear");
/* */
  if (x==1){
    i++;
  } 
  /* Caso a condição for diferente 1 o acumuldor receberá 1000 fzendo com que o programa encerre, pois a condição do while está enquanto i for menor igual a 3 */
  else {
    i=1000;
  }
}

 /* 1 - Quantidade de homens e mulheres que responderam a pesquisa */

for (i=0;i<=2;i++){
  if (lista.sexo==1) {
    Qh=Qh+1;
  }else { if (lista.sexo==2){
    Qm=Qm+1;
    }  
  }
}
printf ("\nTotal Homens/Mulheres:\n[Homens]%d\n[Mulheres]%d\n",Qh,Qm);

 /* 2 - Nome e idade habitante mais velho */
ih_velho=0;
for (i=0;i<=2;i++){
  if (ih_velho<lista.idade) {  
    nh_velho = lista.nome;
    ih_velho = lista.idade;
  }  
}
printf ("\nNome/Idade habitante mais velho:\n[Nome]%c\n[Idade]%d\n",nh_velho,ih_velho);

 /* 3.1 - Nome de mulheres com idade de 18 a 35 anos */

 for (i=0;i<=2;i++){
  if ((lista.idade>=18 || lista.idade<=35) && lista.sexo==2) {
    for (i=0;i<=2;i++){ 
     n18_35=lista.nome;
    }       
  }

printf ("\nNomes das mulheres entre 18 a 35:\n");
for (i=0;i<=2;i++){   
printf ("[Nome]%c\n",n18_35); 
}
 /* 3.2 - Quantidade de mulheres com idade entre de 18 a 35 anos */

for (i=0;i<=2;i++){
  if ((lista.idade>=18 || lista.idade<=35) && lista.sexo==2){
  qtd18_35 = qtd18_35 +1;  
  }
}
printf ("[Qtd]:%d\n",qtd18_35);

/* 4. O nome e a idade dos homens loiros e de olhos azuis */
for (i =0;i<=2;i++){
  if (lista.sexo==1 && lista.cc==1 && lista.co==1){
   for (i=0;i<=2;i++){ 
    nhm_loiro_azul=lista.nome;
    id_loiro_azul=lista.idade;
   }
  }
}
printf ("\nHomem loiro/olho azul:\n");
for (i=0;i<=2;i++){
printf ("[Nome/Idade]:%c/%d\n",nhm_loiro_azul,id_loiro_azul);
}

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...