Madk 0 Denunciar post Postado Maio 3, 2016 Estou com um problema que apos o resultado do bonus o programa nao vai para o printf "Informe o nome do cliente" ele desce direto pro printf de compras. Alguem sabe por que esta acontecendo isso? /*Uma loja tem 15 clientes cadastrados e deseja enviar uma correspondecia a cada um deles anunciando um bonus especial. Faca um programa que leia o nome do cliente e o valor de suas compras no ano passado. Calcule e mostre um bonus de 10% se o valor das compras for menor que RS1000 e de 15%,caso contrario.*/ #include <stdio.h> #include <string.h> #include <conio.h> int main(){ char nome[50]; float cp,bn; int i; for (i=1;i<=15;i++){ printf("\nInforme o nome do cliente: "); scanf("%[^\n]s",nome); printf("\nInforme o valor das compras: "); scanf("%f",&cp); if (cp<=1000) bn=cp*10/100; else bn=cp*15/100; printf("O cliente %s tem bonus de R$%4.2f\n",nome,bn); } getch(); } Compartilhar este post Link para o post Compartilhar em outros sites
pedropgomes 4 Denunciar post Postado Maio 3, 2016 Esse bônus seria o valor da compra do ano passado incluindo 10% ou um desconto de 10%? quanto a não printar a mesagem creio que seja problema com o buffer coloca esse comando fflush(stdin); depois de cada leitura do teclado. Compartilhar este post Link para o post Compartilhar em outros sites
Madk 0 Denunciar post Postado Maio 3, 2016 Funcionou, eu pensava que usava o fflush(stdin); apenas depois do scanf do nome. Obrigado pela ajuda! Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Maio 3, 2016 Não use fflush na entrada padrão. É preferível usar scanf("%f%*c", &desconto); ou fgets. http://forum.imasters.com.br/topic/336835-tutorial-systempause-e-fflushstdin/ Compartilhar este post Link para o post Compartilhar em outros sites
Madk 0 Denunciar post Postado Maio 3, 2016 Obrigado pela dica Isis. Compartilhar este post Link para o post Compartilhar em outros sites