1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[Ajuda Programa C] Transformar valor euros

Discussão em 'Programação' iniciada por carlosmendes7, 5 de Novembro de 2012. (Respostas: 3; Visualizações: 753)

  1. carlosmendes7

    carlosmendes7 Power Member

    Boas pessoal, é o seguinte eu tenho um programa em C que simula uma caixa registadora, pede o valor dos produtos, apresenta o total a pagar, pede o valor dado pelo cliente, diz o troco a receber por parte do cliente em euros.
    A minha dúvida e que agora eu tenho de colocar o programa a devolver o numero exacto de cada nota e moeda a dar ao cliente para fazer esse troco. Por exemplo para o valor de troco 15,37€ ele devera apresentar que deve ser devolvido ao cliente: 1 nota de 10€, 1 nota de 5€, 1 moeda de 0.20€, 1 moeda de 0.10€, 1 moeda de 0.05€ e 1 moeda de 0.02€.
    Alguem me pode dar uma ajuda ou ideia de como fazer isto em C?
    Cumprimentos
     
  2. Tec_Fil

    Tec_Fil Power Member

    ao valor que é introduzido pelo utilizador vais verificar qual é o valor mais próximo (em valores euro: ex: 500€ ou 5cent), imprimes no ecrã esse valor e actualizas o valor introduzido para valor-(o que foi mostrado no ecrã), vais fazendo isto para todos os valores de notas e moedas até o valor introduzido ser igual a zero
     
  3. xBoShY

    xBoShY Power Member

    Pensa como se fosses usar "peneiras" em que começas a separar os valores maiores.

    Tamanho das pedras:
    500; 200; 100; 50; 20; 10; 5; 2; 1; 0.5; 0.2; 0.1; 0.5; 0.2; 0.1

    Tens 1337.98€

    Começas por filtrar os 500€:
    1337.98/500 = 2, resto 337.98

    Tamanho seguinte 200€:
    337.98/200 = 1, resto 137.98

    Seguinte 100:
    137.98/50 = 1, resto 37.98

    Seguinte 50:
    37.98/50 = 0, resto 37.98

    Seguinte 20:
    37.98/20 = 1, resto 17.98

    Seguinte 10:
    17.98/10 = 1, resto 7.98

    Seguinte 5:
    7.98/5 = 1, resto 2.98

    Seguinte 2:
    2.98/2 = 1, resto 0.98

    Seguinte 1:
    0.98/1 = 0, resto 0.98

    Seguinte 0.5:
    0.98/0.5 = 1, resto 0.48

    Seguinte 0.2:
    0.48/0.2 = 2, resto 0.08

    Seguinte 0.1:
    0.08/0.1 = 0, resto 0.08

    Seguinte 0.05:
    0.08/0.05 = 1, resto 0.03

    Seguinte 0.02:
    0.03/0.02 = 1, resto 0.01

    Seguinte 0.01:
    0.01/0.01 = 1, resto 0.00

    Então precisas de: 2x500 + 1x200 + 1x100 + 1x20 + 1x10 + 1x5 + 1x2 + 1x0.5 + 2x0.2 + 1x0.05 + 1x0.02 + 1x0.01
    para fazer a 1337.98€
     
  4. carlosmendes7

    carlosmendes7 Power Member

    Resolvido, podem fechar Obrigado :)
     

Partilhar esta Página