Ir para conteúdo
Fórum Script Brasil

arenatinhanunes

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por arenatinhanunes

  1. 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;
    }

×
×
  • Criar Novo...