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

Uma empresa possui 250 funcionários e deseja saber quantos são homens e quantos são mulheres.Entrar com o sexo,e imprimar a quantidade


rickgts

Pergunta

Sou novo no fórum,e estou aprendendo a programar em C,queria saber o porque meu programa n funciona e onde esta o erro,obrigado

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main ()
{
    setlocale (LC_ALL,"portuguese");
    int i=0,totalm=0,totalf=0;
    char sexo;
    while (i<5)
    {
        printf ("Digite seu sexo M/F:");
        scanf ("%c",&sexo);
        if (sexo=='M')
        {
            totalm = totalm+1;
        }
        else if (sexo=='F')
        {
            totalf = totalf+1;
        }
        i++;
    }
    printf ("O total de homens é:%d\n",totalm);
    printf ("O total de mulheres é:%d\n",totalf);
    system ("pause");
    return 0;
}

Editado por rickgts
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Boa noite. O que está acontecendo é o seguinte:

Toda vez que é informado o sexo ao programa (M/F), é digitado 'ENTER'. Esse enter acaba ficando armazenado no buffer, e o scanf o interpreta como um caractere. Uma das maneiras de se contornar isso é utilizando um comando para limpar o buffer logo abaixo do teu scanf. No caso:

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main ()
{
    setlocale(LC_ALL,"portuguese");
    int i=0,totalm=0,totalf=0;
    char sexo;
    while (i<5)
    {
        printf("\nDigite seu sexo M/F: ");
        scanf("%c",&sexo);
        fflush(stdin); //===> COMANDO PARA LIMPAR O BUFFER
        if (sexo =='M')
        {
             totalm++; // totalm = totalm+1;, é igual a totalm++;. A mesma coisa vale para a variável 'totalf'.
        }
        else if(sexo =='F')
        {
             totalf++;
        }
        i++;
    }
    printf ("\nO total de homens é: %d\n",totalm);
    printf ("\nO total de mulheres é: %d\n",totalf);
    system ("pause");
    return 0;
}

Espero ter ajudado ;)

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