Software de gerenciamento de caixa ATM
Abstract: Software de gerenciamento de caixa ATM. Pesquise 862.000+ trabalhos acadêmicosPor: joaozinho0202 • 15/11/2014 • Abstract • 610 Palavras (3 Páginas) • 565 Visualizações
a prova de ontem tivemos que resolver esta questão. Nem todos os colegas conseguiram encontrar a solução da questão. Então, para registrar uma solução, eis como resolvi a questão abaixo:
Um programa para gerenciar os saques de um caixa eletrônico deve possuir algum mecanismo para decidir o número de notas de cada valor que deve ser disponibilizado para o cliente que realizou o saque. Um possível critério seria o da "distribuição ótima" no sentido de que as notas de menor valor
disponíveis fossem distribuídas em número mínimo possível.
Por exemplo, se a máquina só dispõe de notas de R$ 50, de R$ 10, de R$ 5 e de R$ 1, para uma quantia solicitada de R$ 87, o programa deveria indicar uma nota de R$ 50, três notas de R$ 10, uma nota de R$ 5 e duas notas de R$ 1. Escreva um programa que receba o valor da quantia solicitada e retorne a distribuição das notas de acordo com o critério da distribuição ótima.
Eis o código:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
main()
{
int valor, qtd50,qtd10,qtd5,qtd1=0,resto50,resto10=0,resto5=0;
while (valor > 0 )
{
printf ("|-------------------------------------------------|\n");
printf ("| CAIXA ELETRONICO | ADAO BRAGA | 0 = SAIR |\n");
printf ("|-------------------------------------------------|\n");
printf ("\n\n");
printf("Valor do saque: ");
scanf("%d",&valor);
//O Processamento.
// O resto da divisão é separado na variável resto50;
// O resto50 é dividido por 10 e o resultado guardado em resto10
// Faz o mesmo para 5, e 1
qtd50 = (valor / 50); // O valor é dividido por 50.
resto50 = (valor-(qtd50*50));
qtd10 = (resto50 / 10);
resto10 = (valor-(qtd10*10)-(qtd50*50));
qtd5 = (resto10 / 5);
resto5 = (valor-(qtd10*10)-(qtd50*50)-(qtd5*5));
qtd1 = (resto5 /1);
// Apresentação na tela
// %5d serve para justificar os números na tela a direita
printf("\n\n");
printf(" %5d ....: de 50,00 = %d \n",qtd50,(qtd50*50));
...