segunda-feira, 5 de novembro de 2012

Um programa para gerenciar os saques de um caixa eletrônico deve possuir um mecanismo para decidir o número de notas de cada valor que deve ser disponibilizado para o cliente que realizou o saque.

Um programa para gerenciar os saques de um caixa eletrônico deve possuir um mecanismo para decidir o número de notas de cada valor que deve ser disponibilizado para o cliente que realizou o saque. Faça um programa que:

· leia a quantia a ser sacada e gerencie os saques e tenha como critério da “distribuição ótima” no sentido que as notas de menor valor sejam distribuídas em menor numero possível, por exemplo, se o a quantia solicitada fosse R$ 87,00, o programa deve indicar 1 nota de R$ 50,00, 3 notas de R$ 10,00 uma nota de R$ 5,00 e 2 notas de R$ 1,00.

· Assuma que o maior valor que pode ser sacado no caixa é igual a R$ 1000,00 e que o caixa possui notas de R$ 50,00, R$ 10,00, R$ 5,00 e R$ 1,00.

 

#include <stdio.h>
#include <conio.c>
#include <conio.h>
#include <stdlib.h>
#include <iostream>
#include <windows.h>
#include <time.h>

using namespace std;

void tela(){
gotoxy(10,2); cout << "|-------------------------------------------------|" << endl;
gotoxy(10,3); cout << "| CAIXA ELETRONICO | ADAO BRAGA | 0 = SAIR |" << endl;
gotoxy(10,4); cout << "|-------------------------------------------------|" << endl;
};
main()
{
int valor, qtd50,qtd10,qtd5,qtd1=0,resto50,resto10=0,resto5=0;
while (valor > 0 )
{
tela();
gotoxy(12,6); cout << "Digite o valor do Saque: "; cin >> 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

gotoxy(12, 8);cout << " NOTAS de 50,00 " << qtd50;
gotoxy(12, 9);cout << " NOTAS de 10,00 " << qtd10;
gotoxy(12,10);cout << " NOTAS de 5,00 " << qtd5;
gotoxy(12,11);cout << " NOTAS de 1,00 " << qtd1;

gotoxy(15,23); cout << "TECLE ALGO PARA CONTINUAR";
getch();
clrscr();
}

}

Nenhum comentário:

Postar um comentário