Troco em cédulas

Publicado por jhr (última atualização em 09/09/2009)

[ Hits: 14.588 ]

Download Troco.zip




Sistema onde você entra com o valor da compra e o valor recebido, o programa lhe retorna o troco e as cédulas que você deve entregar a pessoa, claro, usando o mínimo possível de cédulas.

  



Esconder código-fonte

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

main()
      {
      int compra,recebido,troco,lembratroco,um,dois,cinco,dez,vinte,cinque,cem;
      system("cls");
      printf("#### USE APENAS VALORES INTEIROS ####\n\n");
      printf("Valor da compra: ");
      scanf("%d",&compra);
      printf("Valor recebido: ");
      scanf("%d",&recebido); 
      system("cls");
      
      if(compra > recebido){
      printf("VOCE NAO PODE ESPICIFICAR UM VALOR RECEBIDO MENOR QUE O VALOR DA COMPRA!\n\n");     
           }else{
      troco=recebido-compra;
      lembratroco=troco;
      cem=0;
      cinque=0;
      vinte=0;
      dez=0;
      cinco=0;
      dois=0;
      um=0;

while(troco>0){
      
      if(troco == 1)
      {
      um=um+1;
      troco=troco-1;
      }
      if((troco >= 2) && (troco < 5))
      {
      dois=dois+1;
      troco=troco-2;
      }
      if((troco >= 5) && (troco < 10))
      {
      cinco=cinco+1;
      troco=troco-5;
      }
      if((troco >= 10) && (troco < 20))
      {
      dez=dez+1;
      troco=troco-10;
      }
      if((troco >= 20) && (troco < 50))
      {
      vinte=vinte+1;
      troco=troco-20;
      }
      if((troco >= 50) && (troco < 100))
      {
      cinque=cinque+1;
      troco=troco-50;
      }
      if(troco >= 100)
      {
      cem=cem+1;
      troco=troco-100;
      }
      }
      
      printf("+-----------------------------------------------+\n");
      printf("|                     TROCO                     |\n");
      printf("|                                               |\n");
      printf("| VALOR DA COMPRA: %-29d|\n",compra);
      printf("| VALOR RECEBIDO: %-30d|\n",recebido); 
      printf("| VALOR DO TROCO: %-30d|\n",lembratroco);       
      printf("+-----------------------------------------------+\n");
      printf("|           CEDULAS A SEREM ENTREGUES           |\n");
      printf("|                                               |\n");
      printf("|    VALOR  |    QUANTIDADE                     |\n");            
      printf("|    R$1    |    %-10d                     |\n",um);
      printf("|    R$2    |    %-10d                     |\n",dois);                 
      printf("|    R$5    |    %-10d                     |\n",cinco);                  
      printf("|    R$10   |    %-10d                     |\n",dez);                  
      printf("|    R$20   |    %-10d                     |\n",vinte);                  
      printf("|    R$50   |    %-10d                     |\n",cinque);                  
      printf("|    R$100  |    %-10d                     |\n",cem);                  
      printf("|                                               |\n");
      printf("+-----------------------------------------------+\n");      
                      
      }                         
      getch(); 
      main();
      
      }

Scripts recomendados

SOFTCALC

Resolução de uma fórmula de mátemática

Conversão binário - decimal

Codigo anscii

Calcula diferença entre o maior e menos número digitado


  

Comentários
[1] Comentário enviado por tatita.p em 29/09/2009 - 19:43h

Como eu faria esse mesmo programa para troco incluindo moedas???

[2] Comentário enviado por jhrhp em 29/09/2009 - 19:57h

Olha tem esse aqui que foi eu também quem fez:
http://crait.com.br/C/Troco(div%20e%20mod)(moedas%20e%20cedulas).zip

Ele usa div(divisao) e mod(resto da divisao), porem tem um erro, quando ele faz lá: troco=recebido-compra; o proprio C da erro, se você por compra = 100.23 recebido 100.56 ele não da 0.33, da 0.3222999, ae eu usei o ceil() pra arredondar pra mais, porem tem vezes que ele arredonda errado.

Mais se você procurar um pouco é possivel que arrume.

Até mais.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts