Um modelo disso acho que vai ser dificil encontrar mas nao eh dificil de fazer pra falar a verdade.
Por exemplo, vc tem duvida de como controlar qtas notas de 10 reais tem na gavetas
Primeira coisa que vc tem que pensar eh se vai ter mais de 1 gaveta, qtas notas de 10 em cada gaveta.
Quando um cliente faz o saque, por exemplo 20 reais, vc tem que achar uma gaveta que nao esta vazia e subtrair o maximo que vc pode daquela gaveta, porque pode acontecer que gaveta1 tem apenas 1 nota de 10 reais, ai vc tem que pegar mais 10 em outra gaveta.
So uma ideia pra comecar.
//Daniel
tiago.vt
windsofhell:
Um modelo disso acho que vai ser dificil encontrar mas nao eh dificil de fazer pra falar a verdade.
Por exemplo, vc tem duvida de como controlar qtas notas de 10 reais tem na gavetas
Primeira coisa que vc tem que pensar eh se vai ter mais de 1 gaveta, qtas notas de 10 em cada gaveta.
Quando um cliente faz o saque, por exemplo 20 reais, vc tem que achar uma gaveta que nao esta vazia e subtrair o maximo que vc pode daquela gaveta, porque pode acontecer que gaveta1 tem apenas 1 nota de 10 reais, ai vc tem que pegar mais 10 em outra gaveta.
So uma ideia pra comecar.
//Daniel
eu criei varias gavetas gaveta para 5 , 10 ,20 ,50 ,100
uma das minhas duvidas é essa tipo se a pessoa querer sacar 65 reais eu tenho que subtruir as notas que vou da para ele
e também por exemplo a pessoa juridica so pode fazer saque de mil reais diario, essa é outra dificuldade que estou de controlar o valor que ele ja fez o saque no dia
W
windsofhell
Ok…
Acho que vc precisa ter uma tabela de movimentacao de contas diario ai quando um cliente tenta sacar um valor, vc verifica todas as movimentacoes deles naquele dia especifico. Ai tem como vc saber se o cliente ja passou do limite de saque permitido. Provavelmente na tabela de contas vc tem que ter um campo que especifica se eh conta de pessoa juridica ou nao.
Um tabela por exemplo:
client_id
conta_corrent
data_operacao
tipo_operacao (se vc for implementar depositos eh bom ter um campo desse)
valor
//Daniel
luistiagos
cara não sei se vc ja lei o livro do Deitel… no Java Como Programar 5 tem um esquema de um caixa ATM (esses caixas eletronicos) que é ensinado didaticamente atravez dos capitulos… creio que ele possa te ajudar…
mas basicamente seria o seguinte… em um caixa ATM vc tera uma identificação do cliente (que seria o cartão e a senha) com sua identificação vc acessaria dados de sua conta bancaria la teria seus atributos como: saldo, limite LIS, extrato com o historico de seus gastos e termos suas ações como efetuar saques, efetuar depositos, fazer pagamentos, etc… com isto ja da para vc fazer a modelagem… basicamente tera uma classe para a conta bancaria para começar a bincar e teria estes atributos e metodos (ações) descritas… podera ter uma classe cliente e uma movimentação… a cada movimentação de saque vamos supor primeiro vc acessaria o saldo da conta do cliente e veria se ele tem saldo ou não para retirada, tendo ele debita da conta do cliente o valor requerido não tendo ele exibe uma mensagem que não tem saldo… em questão de retirada de notas a primeira coisa que vc sabe é que ele não pode retirar o valor que ele quiser por exemplo 62 reais se o caixa so opera com notas de 5, 10, 50 e 100 então ele so tera a opção de retirar valores compativeis com os que podem… ou seja alem dos 5, 10, 50 e 100 podera retirar as somas de 1 ou mais notas umas com as outras ate o valor maximo supondo que o valor maximo seja 500 ele podera retirar valores compativeis no maximo de 500… isto ja da para fazer muita coisa…
T
thingol
tiago.vt:
uma das minhas duvidas é essa tipo se a pessoa querer sacar 65 reais eu tenho que subtruir as notas que vou da para ele
e também por exemplo a pessoa juridica so pode fazer saque de mil reais diario, essa é outra dificuldade que estou de controlar o valor que ele ja fez o saque no dia
Você começa com o valor “65”
Você tem as gavetas: 5 , 10 ,20 ,50 ,100
65 < 100, portanto não dá para tirar da gaveta de 100
65 >= 50, portanto você tenta tirar da gaveta de 50
Se a gaveta de 50 tiver notas, você vai tirando uma nota de cada vez.
Digamos que a gaveta de 50 tenha notas.
65 - 50 = 15 (tirou uma nota de 50)
15 < 50, então não dá para tirar mais da gaveta de 50
15 >= 10, então dá para tirar da gaveta de 10
Se a gaveta de 10 tiver notas, você vai tirando uma nota de cada vez.
Digamos que a gaveta de 10 esteja vazia. Então você vai para a próxima gaveta, que é a de 5.
Digamos que a gaveta de 5 só tenha 2 notas.
15 - 5 = 10 (tirou uma nota de 5)
10 - 5 = 5 (tirou a última nota de 5)
Sobrou alguma coisa? Então você tem de desfazer tudo, e avisar ao usuário que não consegue dar 65 reais devido à falta de notas. Peça para ele entrar com outro valor.
Como o amigo falou, tem um exemplo de um caixa eletrônico no livro do Deitel 6ª Edição, cada capítulo tem uma coisa nova, se puder dar uma olhada acho que ajudaria.
rafaeldiego
thingol:
tiago.vt:
uma das minhas duvidas é essa tipo se a pessoa querer sacar 65 reais eu tenho que subtruir as notas que vou da para ele
e também por exemplo a pessoa juridica so pode fazer saque de mil reais diario, essa é outra dificuldade que estou de controlar o valor que ele ja fez o saque no dia
Você começa com o valor “65”
Você tem as gavetas: 5 , 10 ,20 ,50 ,100
65 < 100, portanto não dá para tirar da gaveta de 100
65 >= 50, portanto você tenta tirar da gaveta de 50
Se a gaveta de 50 tiver notas, você vai tirando uma nota de cada vez.
Digamos que a gaveta de 50 tenha notas.
65 - 50 = 15 (tirou uma nota de 50)
15 < 50, então não dá para tirar mais da gaveta de 50
15 >= 10, então dá para tirar da gaveta de 10
Se a gaveta de 10 tiver notas, você vai tirando uma nota de cada vez.
Digamos que a gaveta de 10 esteja vazia. Então você vai para a próxima gaveta, que é a de 5.
Digamos que a gaveta de 5 só tenha 2 notas.
15 - 5 = 10 (tirou uma nota de 5)
10 - 5 = 5 (tirou a última nota de 5)
Sobrou alguma coisa? Então você tem de desfazer tudo, e avisar ao usuário que não consegue dar 65 reais devido à falta de notas. Peça para ele entrar com outro valor.
Cara, isso é basicamente o Algoritmo Guloso (meu TCC)!
Voce pode procurar na “literatura” (google… ^^ ) o “problema do troco” ou “problema das moedas” com o Algoritmo Guloso.
Do mesmo jeito que ele resolve este problema voce pode implementar pra resolver o problema das notas e gavetas.