Pediram-me p fazer uma simulação de uma conta-corrente, onde inicialmente se colocaria a quantidade de notas que quizesse, no caixa eletronico. Por exemplo: vou alimentá-lo inicialmente com 10 notas de R$ 50,00; 5 notas de R$ 20,00; 5 notas de R$ 10,00 e 5 notas de R$ 5,00.
E depois o cliente irá sacar p dinheiro… só que haverá uma validação se o dinheiro está disponível.
A lógica é simples, na verdade estou com dúvida, pois me disseram que eu deveria utilizar um Array para armazenar as notas. É possível???
Cada posição do vetor estaria a nota? E a quantidade das notas ficariam onde?
Eu faria diferente. Dividiria primeiro o montante por 5, pois nem todos os valores tu consegue sacar, já que nao tem notas de 1 real. Pegaria o montante e dividiria por 50. o resultado, verificaria se existe a quantidade de notas de 50 necessárias. se tiver, pegaria o resto e dividiria por 20. verificaria se o resultado é menor ou igual a quantidade de notas disponível de 20, e assim sucessivamente…
Espero ter ajudado.
Fernando Rosa
E
ernanikPJ
eu não usaria arrays pra armazenar as notas, mas contadores com as quantidades de cada nota, tipo notas5, notas10, notas20 e notas50…
acho que assim é mais fácil que arrays.
S
svinterPJ
Pessoal,
A medida q se efetua o saque o programa deverá fazer os testes com a qtde de cedulas de cada tipo, e se nao tiver a qtde disponivel dereva emitir uma mensagem.
Fiz a logica e o codigo fonte, mas está dando erro. Poderiam me ajudar com este erro. O erro é:java.lang.NoClassDefFoundError: CaixaEletronico
Exception in thread “main” .
Outro problema é o metodo verificaCedula, está dando erro.
intcedulas[]=newint[4];Stringnotas50;Stringnotas20;Stringnotas10;Stringnotas5;intN50;intN20;intN10;intN5;intR50;intR20;intR10;intR5;Stringcliente;StringclienteAnterior;intvalor;Stringsaque;publicstaticvoidmain(Stringargs[]){}publicvoidiniciaCaixa(){notas50=JOptionPane.showInputDialog("Entre com a qtde de Notas de R$ 50,00: ");notas20=JOptionPane.showInputDialog("Entre com a qtde de Notas de R$ 20,00: ");notas10=JOptionPane.showInputDialog("Entre com a qtde de Notas de R$ 10,00: ");notas5=JOptionPane.showInputDialog("Entre com a qtde de Notas de R$ 5,00: ");cedulas[0]=Integer.parseInt(notas50);cedulas[1]=Integer.parseInt(notas20);cedulas[2]=Integer.parseInt(notas10);cedulas[3]=Integer.parseInt(notas5);}publicvoidcliente(){cliente=JOptionPane.showInputDialog("Nome do Cliente: ");clienteAnterior=cliente;if(cliente.equalsIgnoreCase(clienteAnterior))System.out.println("Olá Cliente: "+cliente);}publicintverificaCedula(){// falta condição de paradasaque=JOptionPane.showInputDialog("Digite o valor que deseja sacar: ");valor=Integer.parseInt(saque);if((valor%5)==0){while(valor!=0){N50=valor%50;if((cedulas[0]!=0)&&(N50<=cedulas[0])){cedulas[0]=cedulas[0]-N50;}else{N50=N50-cedulas[0];R50=valor/50;valor=R50+(N50*50);N20=valor%20;}if((cedulas[1]!=0)&&(N20<=cedulas[1])){cedulas[20]=cedulas[20]-N20;}else{N20=N20-cedulas[1];R20=valor/20;valor=R20+(N20*20);N10=valor%10;}if((cedulas[3]!=0)&&(N10<=cedulas[3])){cedulas[3]=cedulas[3]-N10;}else{N10=N10-cedulas[3];R10=valor/10;valor=R10+(N10*10);N5=valor%5;}if((cedulas[4]!=0)&&(N5<=cedulas[4])){cedulas[4]=cedulas[4]-N5;}else{System.out.println("O saque não pode ser efetuado: ");}}}else{System.out.println("O saque não pode ser efetuado: ");}}