Jump to content
Fórum Script Brasil
  • 0

Dúvida em exercício


Question

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 to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148721
    • Total Posts
      644510
×
×
  • Create New...