Ir para conteúdo
Fórum Script Brasil
  • 0

Caixa Eletronico (Trabalho Faculdade)


kdt

Pergunta

Galera, sou iniciante, e meu professor pediu pra elaborarmos um caixa eletronico q crie uma string para armazenar as notas de 100,50,20,10,5 e 2, o meu maior problema esta na hora do saque, pois terei que verificar se o valor pode pagar das notas mais altas para as menores, porem como o caixa não tem nota de um, tenho um problema, pois valores terminados com 1,3, 6 e 8 se tornam praticamente impossiveis de se sacar, pois 1 e 3 não podera sacar nota de 5 nem de 2, e o 6 e o 8 , você consegue sacar 5, mas não tem como sacar 2 pois volta ao problema do 1 e 3, então teria que fazer ele verificar e pular alguma nota para que possa ser sacado, tornando impossivel apenas ser sacado os valores 1 e 3, sendo portanto possivel sacar valores como 11,13, 16, 18 e por ae vai.

Desde já agradeço a atenção e a ajuda de todos

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Primeiro tem que ver qual a "regra do negócio".

O usuário pode sacar a quantidade que quiser?

Se o usuário puder sacar a quantia que quiser alguns valores não serão possíveis.

Link para o comentário
Compartilhar em outros sites

  • 0

pode sim, mas ateh o limite de 30 notas

ele quer q faça uma verificação e no caso de não dar pra pagar td com a nota maior vai diminuindo.

Ex 56

1 de 50

1 de 5

ae não tem nota de 1 pra completar, ae pagaria com nota de 2

Ex. 56

1 de 50

3 de 2

portanto so os valores 1 e 3 fikariam impossibilitados de sacar

Link para o comentário
Compartilhar em outros sites

  • 0

Faça um método que faça essa correção.

Chame-o quando não é possível o pagamento.

Passe a quantidade de notas de 5 e o montante que falta desconsiderando as notas de 5 e 2.

Ex:

public int ajustaPagamento(qtdcinco, valor)

Nesse caso os parametros seriam: 1, 6

Nesse método voce precisa retornar a quantidade de notas de 2.

Veja como seria a lógica:

cinco = qtdcinco - 1;
valor = valor - (cinco * 5)
//preencha o valor resultante com notas de 2.

A lógica é retirar uma nota de 5, refazer o cálculo de quanto falta e preencher o valor resultante com notas de 2.

Link para o comentário
Compartilhar em outros sites

  • 0

O que eu disse acima não resolve todos os problemas.

Voce precisa de algo mais genérico que altere a quantidade de todas as notas.

É uma maneira de resolver.

Tentativa e erro:

Exemplo:

Sacar: R$ 21,00

Tente 20.

Não é possível sacar.

Tente 10 + 10.

Não é possível sacar.

Tente 10 + 5 + 5.

Não é possível sacar.

Tente 10 + 5 + 2 + 2 + 2

Ai está a solução.

O que há de comum na tentativa e erro?

O último valor é decomposto. Tente implementar a lógica.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...