Ir ao conteúdo
  • Cadastre-se

Posts recomendados

Postado

<CODE>

olá , eu estou com probelamas nessa questao . escrevi um codigo  ,mas ele nao esta correto ? vcs poderiam me ajudar com o meu codigo ou mostra outra forma de  resolver a questao usando do  **while ?

 

1.Determine a quantidade de homens e mulheres (separadamente) que são maiores de idade, baseado numa lista de 20 pessoas. Considere apenas como entrada a informação se é homem ou mulher ('m' ou 'f') e a idade.

 

esse é o meu codigo 

 

 

 

#include <stdio.h>

int main(void){

float soma,id,s,h;

char resp,sexo,m,f;

int continuar = 0;

int respostaCorreta = 0;

soma=0;

s=0;

h=0;

do {printf ("digite a idade:\n");

scanf ("%f",&id);

printf("digite o dado m ou f :\n");

scanf("%c",&sexo);

m=1;

f=2;

if (id>18 && sexo=1)

{soma++;}

else if (id>18 && sexo=2){s++;}

else{h++;}

do {

printf("\n digite s para continuar e n para sair...\n");

scanf(" %c", &resp);

switch(resp){

case 's': respostaCorreta = 1; continuar = 1; break;

case 'n': respostaCorreta = 1; continuar = 0; break;

default: respostaCorreta = 0; printf("ERRO: Resposta invalida!\n"); break;

}

} while (respostaCorreta != 1);

 

} while (continuar != 0);

printf("%f\n",soma);

printf("%f\n",s);

  • Obrigado 1
Postado

@gabrielbento      você se esqueceu que na Linguagem c  , você precisa colocar dois sinais de igual para fazer a comparação  ali no if , e também a identação do código é importante para detectar erros , e então 

seu código com algumas modificações poderia ser assim :   ou de outro jeito que você queira   :

#include <stdio.h>
#include <ctype.h>
int main()
{
    int soma=0,s=0;
    float h=0;
    char resp,sexo,m,f;
    int continuar = 0,id;
    int respostaCorreta = 0;
    do
    {
        printf("digite a idade : ");
        fflush(stdin);
        scanf ("%d",&id);
        do
        {
            printf("Qual o sexo  (   m ou f   ) : ");
            fflush(stdin);
            scanf ("%c",&sexo);
            if( id >= 18 && sexo == 'm' )
            {
                soma++;
            }
            else
                if( id >= 18 && sexo == 'f' )
                {
                    s++;
                }
                else
                    printf("digite m ou f \n");
        }while( toupper(sexo) != 'M' && toupper(sexo) != 'F' );
        do
        {
            printf("\n digite s para continuar e n para sair...  ");
            fflush(stdin);
            scanf(" %c", &resp);
            resp = toupper(resp);
            switch(resp)
            {
            case 'S':
                respostaCorreta = 1; continuar = 1;
                break;
            case 'N':
                respostaCorreta = 1; continuar = 0;
                break;
            default:
                respostaCorreta = 0;
                printf("ERRO: Resposta invalida!\n");
                break;
            }
        }while (respostaCorreta != 1);
    }while (continuar != 0);
    printf("\n\n");
    printf("A Quantidade De Homens    eh -> %d\n",soma);
    printf("A Quantidade De Mulheress eh -> %d\n",s   );
    printf("\n\n\n");
    return 16;
}

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...