TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Software de gerenciamento de caixa ATM

Abstract: Software de gerenciamento de caixa ATM. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  15/11/2014  •  Abstract  •  610 Palavras (3 Páginas)  •  537 Visualizações

Página 1 de 3

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));

...

Baixar como (para membros premium)  txt (2.5 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com