brunoemanuelsj Postado Abril 2, 2017 Denunciar Share Postado Abril 2, 2017 estou com um código que o while não está rodando corretamente, era para rodar 4 vz mas está rodando sóo duas, alguém pode me ajudar a identificar o erro? #include <stdio.h> int main() { float pi, V[4]={1750, 800, 1200, 2000}; scanf("%f", &pi); int b=0; char a; while(b < 4) { scanf("%c", &a); if(a == 'S') { pi = pi + V; } else{pi=pi;} a=0; b++; } printf("%.2f\n", pi); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nefisto Postado Abril 3, 2017 Denunciar Share Postado Abril 3, 2017 Quando vc entra com o %c no scanf, no primeiro loop ele pega a letra que vc digitou, no segundo o enter q vc apertou, e esse processo se repete, por isso só passa duas vezes. #include <stdio.h> int main() { float pi, V[4]={1750, 800, 1200, 2000}; scanf("%f", &pi); int b=0; char a; printf("%p %p\n", &b, &a); while(b < 4) { scanf("%c", &a); getchar();//O ERRO ESTA AKI if(a == 'S') { pi = pi + V; //Isso aqui nao faz sentido, V sem indice é um ponteiro e vc ta somando ele com float } else { pi=pi; //tbm nao intendi o proposito disso } a=0; b++; } printf("%.2f\n", pi); return 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 brunoemanuelsj Postado Abril 4, 2017 Autor Denunciar Share Postado Abril 4, 2017 (editado) entendi! Obg! essa parte do if e do else eu copiei errado .. Editado Abril 4, 2017 por brunoemanuelsj Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
brunoemanuelsj
estou com um código que o while não está rodando corretamente, era para rodar 4 vz mas está rodando sóo duas, alguém pode me ajudar a identificar o erro?
#include <stdio.h>
int main()
{
float pi, V[4]={1750, 800, 1200, 2000};
scanf("%f", &pi);
int b=0;
char a;
while(b < 4)
{
scanf("%c", &a);
if(a == 'S')
{
pi = pi + V;
}
else{pi=pi;}
a=0;
b++;
}
printf("%.2f\n", pi);
}
Link para o comentário
Compartilhar em outros sites
2 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.