Hiago Pinazzi Postado Outubro 27, 2018 Denunciar Share Postado Outubro 27, 2018 #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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Outubro 28, 2018 Denunciar Share Postado Outubro 28, 2018 Sujeira no buffer. Limpe o buffer depois de cada leitura, sobre tudo antes de ler chars ou strings. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Visitante Postado Outubro 30, 2018 Denunciar Share Postado Outubro 30, 2018 (editado) 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 Outubro 30, 2018 por Visitante Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Hiago Pinazzi Postado Novembro 3, 2018 Autor Denunciar Share Postado Novembro 3, 2018 vlw galera Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Hiago Pinazzi
#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
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.