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

QUANDO SOU ENTER O PROGRAMA FINALIZA


Hiago Pinazzi

Pergunta

#include <stdio.h>
int main()
{
    int totaldecobaias,totaldecoelhos,totaldesapos,totalderatos,quantiadebixos,n,contadorbixos,c,coelho,rato,sapo,total;;
    coelho=0;
    rato=0;
    sapo=0;
    char C,R,S;
    scanf("%i",&quantiadebixos);
    contadorbixos=0;
    do
    {
        scanf("%i%c",&n,&c);
        contadorbixos++;
        if(c=='C')
        {
            coelho+=n;
        }
        if(c=='R')
        {
            rato+=n;
        }
        if(c=='S')
        {
            sapo+=n;
        }
        total=sapo+coelho+rato;
    }
    while(contadorbixos<quantiadebixos);
    printf("Total: %i\nTotal de coelhos: %i\nTotal de ratos: %i\nTotal de sapos: %i\n",total,coelho,rato,sapo);
    printf("Percentual de coelhos: %.2f%%",(float)coelho*100 / total);
    printf("\nPercentual de ratos: %.2f%%",(float)rato*100 / total);
    printf("\nPercentual de sapos: %.2f%%",(float)sapo*100 / total);
}

Boa Noite !

Quando dou enter meu programa finaliza sendo que era pra continuar a condição!

 

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Olá @Hiago Pinazzi É exatamente o que foi dito acima pelo @vangodp

Recomendo o uso de uma dessas duas funções:

void limpa_linha() {
    scanf("%*[^\n]");
    scanf("%*c");
}

Ou essa:

void fflush_stdin() {
    char ch;
    while ((ch = getchar()) != '\n' && ch != EOF);
}

para usar uma dessas funções basta chamá-las após o scanf:

scanf("%i", &quantiadebixos);
limpa_linha(); // ou fflush_stdin();

Qualquer dúvida é só perguntar

Se quiser aprender mais a respeito desse assunto recomendo esse vídeo:

Limpar o Buffer do teclado

Obs: O comando q ele passa p limpar o buffer não é recomendado. Use uma dessas funções acima. A explicação dada por ele é ótima!

Editado por Visitante
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...