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

Ajuda iniciante


sacofritoxd

Pergunta

O exercicio é o seguinte... e estou tentando fazer faz alguns dias e nada dele funcionar....algm me ajuda a terminá-lo ou me informar onde está o erro?

Foi realizada uma pesquisa de algumas características físicas da população de uma certa região, a qual coletou os seguintes dados referentes a cada habitante para serem analisados:

• Sexo (“M” ou “F”);

• Cor dos olhos (“AZUIS”, “VERDES”, “CASTANHOS”);

• Cor dos cabelos (“LOUROS”, “CASTANHOS”, “PRETOS”);

• Idade.

Faça um programa C que determine e escreva:

• A idade do habitante mais velho;

• A percentagem de indivíduos do sexo feminino cuja idade está entre 18 e 35 anos inclusive e que tenham olhos verdes e cabelos louros.

O final do conjunto de habitantes é reconhecido pelo valor –1 informada como idade.

código :

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

// EXERCICIO NUMERO 1

int main ()

{

int olhos, cabelo, idade, i, // i = total

maivelho, // maior idade entre todos

mulher; // entre 18 e 35 anos com olhos verdes e cabelos louros; // contador do sexo feminino

float perc; // percentual das mulheres entre 18 e 35 anos

char sexo;

i =0;

printf("Pesquisa");

while(idade != -1)

{

printf("\nIdade ");

scanf("%d", &idade);

printf("\nInforme o sexo. M ou H ");

sexo = getchar();

scanf("%c", &sexo);

printf("Cor dos olhos. 1- azul. 2- verdes. 3- castanhos.");

scanf("%d", &olhos);

printf("\nCor do cabelo. 1- louros. 2- castanhos. 3- pretos.");

scanf("%d", &cabelo);

i++;

mulher = 0;

if(sexo =='m' || sexo == 'M'){

if ((cabelo = 1) && (olhos = 2)) {

if ((idade >= 18) && (idade <= 35))

mulher++;

}

}

printf("Para encerrar digite -1 no campo idade.");

} // fim while

printf("\nTotal de cadastrados = ", i);

perc = mulher*100/i;

printf("\nPercentual de mulheres com olhos verdes e cabelos louros entre 18 e 35 anos.", perc);

maivelho =

getch();

return 0;

}

quando informa -1 como idade ele não sai do laço e por não ter terminado ainda não consegui testar ele por completo..

obg

PS: sou novo no fórum e na programaçao

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Use a tag code quando postar códigos.

int olhos, cabelo, idade, i, // i = total
Se 'i' é total de alguma coisa, então coloque 'total' como nome da variável, e não 'i'...
maivelho // maior idade entre todos
Se é o mais velho, é um tanto lógico que tem que ter a maior idade entre todos no conjunto. Não comente o nome da variável quando ele já explica o que ela armazena.
#include <stdio.h>


void menu_olhos() {
    puts("1 - Azuis");
    puts("2 - Verdes");
    puts("3 - Castanhos");
}


void menu_cabelos() {
    puts("1 - Louro");
    puts("2 - Castanhos");
    puts("3 - Pretos");
}


int main (int argc, char *argv[])
{
    int idade, mais_velho, cor_olhos, cor_cabelos;
    char sexo;
    int total_lido = 0;
    int mulheres = 0;

    while(1) {
        printf("Idade: ");
        scanf("%d",&idade);
        if (idade == -1) break;

        printf("Sexo (M/F): ");
        scanf("%*c%c",&sexo); // O %*c consome o \n que fica no buffer. Não use fflush(stdin).

        do {
            printf("=== Cor dos olhos:\n");
            menu_olhos();
            scanf("%d", &cor_olhos);
            if (cor_olhos < 1 || cor_olhos > 3)
                puts("Opção inválida.");
        } while (cor_olhos < 1 || cor_olhos > 3);


        do {
            printf("=== Cor dos cabelos:\n");
            menu_cabelos();
            scanf("%d", &cor_cabelos);
            if (cor_cabelos < 1 || cor_cabelos > 3)
                puts("Opção inválida.");
        } while (cor_cabelos < 1 || cor_cabelos > 3);

        if (!total_lido)
            mais_velho = idade;
        else {
            if (idade > mais_velho)
                mais_velho = idade;
        }

        if (sexo == 'F' || sexo == 'f' && idade >= 18 && idade <= 35 && cor_olhos == 2 && cor_cabelos == 1)
            mulheres++;

        total_lido++;
    }

    if (total_lido) {
        printf("Idade do mais velho: %d\n", mais_velho);
        printf("Porcentagem de mulheres entre 18 e 35 anos (inclusive), loiras e de olhos verdes : %.2f\%\n", 100.00*mulheres/total_lido);
    }
    return 0;
}

Editado por C/C++ nuts
Link para o comentário
Compartilhar em outros sites

  • 0

Faça um programa, utilizando a estrutura condicional IF, que seleciona modelos para um evento. O programa deve perguntar para o usuário: 

 

1) Digite sua idade:

 

2) Digite a cor dos seus cabelos: (1 para castanho, 2 para loiros, 3 para ruivos, 4 para outras cores);

 

3) Digite o seu peso:

 

4) Digite a cor dos seus olhos: ( 1 para castanho, 2 para verdes, 3 para azuis);

 

Só serão aprovadas as modelos que tiverem os seguintes requisitos: idade entre 18 e 25 anos, cabelos loiros, peso entre 40 e 58 e olhos verdes. Se a candidata preencher todos os requisitos, deverá aparecer a mensagem: " Parabéns, você foi selecionada". Caso contrário deve informar o motivo da reprova, por exemplo: "Você foi eliminada pela cor dos seus olhos"...

Link para o comentário
Compartilhar em outros sites

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...