Ir ao conteúdo

Posts recomendados

Postado

Olá, estou tentando fazer um programa em que eu digite o valor e ele me diga quantas notas de 100,50,20,10,5 são necessárias e a mesma coisa para as moedas em valores de 1 , 0.50 , 0.25 ,0.10 , 0.01

O meu problema é que coloco um valor, mas está saindo errado nas moedas de 0.01, saindo com uma moeda a menos do que deveria.

#include <stdio.h>
int main()
{
 double valor;
int v100,c50,c25,c10,c5,c1;
int v50;
int v20;
int v10;
int v5;
int v2;
int v1;
scanf("%lf",&valor);
printf("%.2lf\n",valor);
v100=valor/100;
valor=valor - v100*100;
v50=valor/50;
valor=valor-v50*50;
v20=valor/20;
valor=valor-v20*20;
v10=valor/10;
valor=valor-v10*10;
v5=valor/5;
valor=valor -v5*5;
v2=valor/2;
valor=valor-v2*2;
v1=valor;
valor=valor-v1*1;
valor=valor*100;
c50=valor/50;
valor=valor-c50*50;
c25=valor/25;
valor=valor-c25*25;
c10=valor/10;
valor=valor-c10*10;
c5=valor/5;
valor=valor-c5*5;
c1=valor;
printf("NOTAS:\n");
printf("%d nota(s) de R$ 100,00\n",v100);
printf("%d nota(s) de R$ 50,00\n",v50);
printf("%d nota(s) de R$ 20,00\n",v20);
printf("%d nota(s) de R$ 10,00\n",v10);
printf("%d nota(s) de R$ 5,00\n",v5);
printf("%d nota(s) de R$ 2,00\n",v2);
printf("MOEDAS:\n");
printf("%d moeda(s) de R$ 1.00\n",v1);
printf("%d moeda(s) de R$ 0.50\n",c50);
printf("%d moeda(s) de R$ 0.25\n",c25);
printf("%d moeda(s) de R$ 0.10\n",c10);
printf("%d moeda(s) de R$ 0.05\n",c5);
printf("%d moeda(s) de R$ 0.01\n",c1);

}

Se eu coloco 576.76, o programa diz 0 moedas de 0.01

Se coloco 10.07, ele faz certo e coloca duas moedas de 0.01

Em alguns casos dá certo.

  • Amei 1
Postado

@Valdir1    seu código está bom ,  mas o float é arredondado para menos , então acrescente hum no final , então seu código pode ser assim  :

#include <stdio.h>
int main(){
    double valor;
    int v100,c50,c25,c10,c5,c1;
    int v50,v20,v10,v5,v2,v1  ;
    printf("Valor "        );
    scanf("%lf",&valor     );
    printf("%.2lf\n",valor );
    v100  = valor       /100;
    valor = valor - v100*100;
    v50   = valor        /50;
    valor = valor - v50  *50;
    v20   = valor        /20;
    valor = valor - v20  *20;
    v10   = valor        /10;
    valor = valor - v10  *10;
    v5    = valor         /5;
    valor = valor - v5    *5;
    v2    = valor         /2;
    valor = valor - v2    *2;
    v1    = valor           ;
    valor = valor - v1      ;
    valor = valor       *100;
    c50   = valor        /50;
    valor = valor - c50  *50;
    c25   = valor        /25;
    valor = valor - c25  *25;
    c10   = valor        /10;
    valor = valor - c10  *10;
    c5    = valor         /5;
    valor = valor - c5    *5;
    c1    = valor +        1;
    printf("======   NOTAS   =======    \n"             );
    if(v100>0)printf("%3d nota (s) de R$ 100,00\n",v100 );
    if(v50 >0)printf("%3d nota (s) de R$  50,00\n",v50  );
    if(v20 >0)printf("%3d nota (s) de R$  20,00\n",v20  );
    if(v10 >0)printf("%3d nota (s) de R$  10,00\n",v10  );
    if(v5  >0)printf("%3d nota (s) de R$   5,00\n",v5   );
    if(v2  >0)printf("%3d nota (s) de R$   2,00\n",v2   );
    printf("\n======   MOEDAS  =======    \n"           );
    if(v1  >0)printf("%3d moeda(s) de R$   1.00\n",v1   );
    if(c50 >0)printf("%3d moeda(s) de R$   0.50\n",c50  );
    if(c25 >0)printf("%3d moeda(s) de R$   0.25\n",c25  );
    if(c10 >0)printf("%3d moeda(s) de R$   0.10\n",c10  );
    if(c5  >0)printf("%3d moeda(s) de R$   0.05\n",c5   );
    if(c1  >0)printf("%3d moeda(s) de R$   0.01\n\n",c1 );
    system("pause");
    return 0;
}

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!