[Resolvido]Banco

17 respostas
L

Boa noite pessoal, tenho o seguinte problema

considere um caica eletronico com apenas um repositorio
com capacidade para armazenar 1000 notas de 10 reais. Elabore um algoritmo
para ler um valor e fornecer a quantidade de notas correspondente a esse valor.
O algoritmo deve manter a quantidade de notas no repositorio
atualizada. caso o valor lido nao possa ser fornecido por falta de notas,
o algoritmo deve imprimir uma mensagem se o valor nao for multiplo
de 10. apos o tratamento do valor lido, o procedimento deve ser repetido.
o algoritmo deve parar quando um valor lido for negativo.

eu consegui pegar o valor que desejo retirar do caixa
por exemplo, Retirada = 50

var i = (Retirada / 10)

valorTotal = 100 - i;

mas agora nao sei como continuar, alguem pode me dar uma dica?

17 Respostas

ssh

só pensar!

faça as contas utilizando.
do
{
// qndo pedido for menor que zero, sai do laço.

// aqui você recebe o valor de pedido, e faz o controle. pedido é igual a valor do saque.

//aqui voce retira a qntd de notas retirada no saque, e subtrai no total de 1000 notas.

}while(pedido >= 0);
L

Mas e a questao do multiplos de 10?.

renatowerner

Um número é múltiplo de N se o resto da divisão desse número por N for igual a 0.

ribclauport

Amigo fiz uns testes aqui e creio que isso que voce está querendo espero que ajude:

package b;


import javax.swing.JOptionPane;

public class Caixa {
	int nota = 0;
	int qtdNota = 1000;
	int totalRetirado = 0;
	public static void main(String[] args) {
		
		Caixa c = new Caixa();
		do{
			String x = JOptionPane.showInputDialog("Entre com o valor do saque");
			try{
				if(x!=null){
					c.nota = Integer.parseInt(x);
					if(c.nota%10==0){
						c.qtdNota = c.qtdNota - c.nota/10;
						c.totalRetirado += c.nota;
						JOptionPane.showMessageDialog(null,"Operação efetuada com sucesso\n Valor retirado "+x+"\n Notas restantes "+c.qtdNota);
						
					}else if(c.nota < 0){
						break;
						
					}else{
						JOptionPane.showMessageDialog(null,"Valor "+x+"  não é multiplo de 10");
					}
				}
			}catch(NumberFormatException e){
				String saida = x.equals("")?"\"\"":x;
				JOptionPane.showMessageDialog(null, "Entrada inválida para o valor: "+saida);
			}
			
		}while(c.nota >=0);
		JOptionPane.showMessageDialog(null,"Qtd Notas restantes "+c.qtdNota+" Valor retirado total: "+c.totalRetirado);
	}
	
}
FabricioPJ

Entregar a coisa pronta para uma pessoa que está aprendendo, não vai ensina-la a pensar, mas sim a continuar pedindo ajuda.

renatowerner

Concordo plenamente.

ribclauport

Dar respostas vagas ajuda as pessoas a desistirem, e olhar o código dos outros é uma ótima maneira de se aprender…

rafaduka

Concordo planamente.

Concordo planamente.

FabricioPJ

Se a pessoa desiste por receber respostas vagas é porque ela é fraca. E concordo com você, olhar código ajuda a aprender, mas neste caso isso ta com cara de questão de faculdade, e o propósito da faculdade a fazer a pessoa aprender a pensar. Você deu a resposta, isso vai ajudar a pessoa a acertar a questão, mas não a aprender como chegar na resposta.

Enfim, essa é minha opinião e é o que eu acho… não tome como verdade absoluta, cada um tem a sua opinião.

ribclauport

Viche, você tem razão nem percebi esse ponto de resposta de faculdade, na verdade as vezes faço isso por que quanto estava começando, e aliás ainda estou, eu sempre me batia com respostas tipo “Mestre dos Magos”, mas era por que queria aprender e não resolver exercício de falcudade.

Desculpe.

renatowerner

ribclauport:
Dar respostas vagas ajuda as pessoas a desistirem, e olhar o código dos outros é uma ótima maneira de se aprender…

Eu respeito a sua opinião, porém se ele não tem força de vontade para resolver um problema simples desse é melhor ele nem entrar na área.

ribclauport

Bom, problemas simples na realidade são os que a gente sabe resolver né?
E gostaria que as pessoas tivesem mais cuidade em dizer “Não entraria na área”, pois no meu início de carreira ouvi isso, e realmente foi
muito difícil de superar, a vida não é assim não meu caro, a pessoa que hoje não sabe o que é um multiplo daqui um tempo pode ser seu
“chefe”, muito cuidado.

renatowerner

ribclauport:
Bom, problemas simples na realidade são os que a gente sabe resolver né?
E gostaria que as pessoas tivesem mais cuidade em dizer “Não entraria na área”, pois no meu início de carreira ouvi isso, e realmente foi
muito difícil de superar, a vida não é assim não meu caro, a pessoa que hoje não sabe o que é um multiplo daqui um tempo pode ser seu
“chefe”, muito cuidado.

Eu não falei que ele não entraria na área porque acha o problema muito difícil, disse q é melhor nem entrar na área se não tiver força de vontade para resolver esse tipo de problema, se você está aqui hoje é porque você teve essa força de vontade, e continua tendo, porque todo dia surgem novos problemas desafiadores.

ssh

ta vendo, o maluco deve ter resolvido e nem voltou mais aqui no tópico. rsrs.

as vezes eu preciso de um empurrão como você deu p/ ele, mas são com coisas bem mais complexas.

ribclauport

Verdade, o cara escafedeu…

L
do  
{  
// qndo pedido for menor que zero, sai do laço.  
  
// aqui você recebe o valor de pedido, e faz o controle. pedido é igual a valor do saque.  
  
//aqui voce retira a qntd de notas retirada no saque, e subtrai no total de 1000 notas.  
  
}while(pedido >= 0);

Realmente eu resolvi o problema, quer dizer, em partes, nao usei o codigo fonte pronto q o amigo postou, usei, q outro colega postou, e com isso montei minha logica, nao fikou 100%
mas quase xeguei la. Nao pedi pra ninguem fazer o problema pra mim, e sim pedi uma dica, de q forma seria melhor fazer, como poderia fazer. Vlw a todos q me ajudaram.

ribclauport

Bom, o legal é que perdi meu tempo procurando colocar um exemplo para o amigo, e pelo jeito o amigo não gostou, é isso?
Mas de qualquer forma consulte o código pronto para deixar o seu 100%, e um codigo pronto pode servir de consulta…

Todos o ajudaram, somente o código pronto que o atrapalhou…

Criado 21 de fevereiro de 2012
Ultima resposta 23 de fev. de 2012
Respostas 17
Participantes 6