/* * ACH 2001 - Introdução a Ciencia da Computação I * EACH-USP - Primeiro Semestre de 2008 * Turma 04 - Professor Delano Beder * * Primeiro Exercicio-Programa * Nome do Arquivo - Banco6412014.java * * Claudio Vaz Gomes Neto 6412014 * * 22/04/08 */ class Banco6412014 { int saldo, notas100, notas50, notas10, notas5, notas1, saque, notassaque100, notassaque50, notassaque10, notassaque5, notassaque1; public void carregaValores (int notas100, int notas50, int notas10, int notas5, int notas1) { //Método que carrega os valores de notas de 100, 50, 10, 5 e 1 ducas. this.notas100 = notas100; this.notas50 = notas50; this.notas10 = notas10; this.notas5 = notas5; this.notas1 = notas1; this.saldo = saldo; saldo = notas100 * 100 + notas50 * 50 + notas10 * 10 + notas5 * 5 + notas1; } private void imprimeSaque () { //Método privado que imprime as notas sacadas pelo método saque. if (notassaque100 > notas100) { System.out.println ("Saque autorizado."); System.out.println ("Notas de 100: " + (notassaque100 - notas100) + "; notas de 50: " + ((notassaque100 - notas100) * 2) + "; notas de 10: " + notassaque10 + "; notas de 5: " + notassaque5 + "; notas de 1: " + notassaque1 + "."); } else if (notassaque50 > notas50) { System.out.println ("Saque autorizado."); System.out.println ("Notas de 100: " + notassaque100 + "; notas de 50: " + (notassaque50 - notas50) + "; notas de 10: " + ((notassaque50 - notas50) * 5) + "; notas de 5: " + notassaque5 + "; notas de 1: " + notassaque1 + "."); } else if (notassaque10 > notas10) { System.out.println ("Saque autorizado."); System.out.println ("Notas de 100: " + notassaque100 + "; notas de 50: " + notassaque50 + "; notas de 10: " + (notassaque10 - notas10) + "; notas de 5: " + ((notassaque10 - notas10) * 2) + "; notas de 1: " + notassaque1 + "."); } else if (notassaque5 > notas5) { System.out.println ("Saque autorizado."); System.out.println ("Notas de 100: " + notassaque100 + "; notas de 50: " + notassaque50 + "; notas de 10: " + notassaque10 + "; notas de 5: " + (notassaque5 - notas5) + "; notas de 1: " + ((notassaque5 - notas5) * 5)+ "."); } else if (notassaque1 > notas1 || notas100 < 0 || notas50 < 0 || notas10 < 0 || notas5 < 0 || notas1 < 0) { System.out.println ("Saque não autorizado. Notas insuficientes."); } else { System.out.println ("Saque autorizado."); System.out.println ("Notas de 100: " + notassaque100 + "; notas de 50: " + notassaque50 + "; notas de 10: " + notassaque10 + "; notas de 5: " + notassaque5 + "; notas de 1: " + notassaque1 + "."); } } public void saque (int saque) { //Método que recebe um valor inteiro e faz o débito desse valor do saldo total. if ((saldo - saque) < 0) { System.out.println ("Saque não autorizado. Saldo insuficiente."); } notassaque100 = saque / 100; notassaque50 = (saque % 100) / 50; notassaque10 = ((saque % 100) % 50) / 10; notassaque5 = (((saque % 100) % 50) % 10) / 5; notassaque1 = ((((saque % 100) % 50) % 10) % 5); if (notassaque100 > notas100) { notas50 = notas50 - (notassaque100 - notas100) * 2; imprimeSaque(); } else if (notassaque50 > notas50) { notas10 = notas10 - (notassaque50 - notas50) * 5; imprimeSaque(); } else if (notassaque10 > notas10) { notas5 = notas5 - (notassaque10 - notas10) * 2; imprimeSaque(); } else if (notassaque5 > notas5) { notas1 = notas1 - (notassaque5 - notas5) * 5; imprimeSaque(); } else if (notassaque1 > notas1) { System.out.println ("Saque não autorizado. Notas insuficientes."); } else { notas100 = notas100 - (saque / 100); saque = saque % 100; notas50 = notas50 - (saque / 50); saque = saque % 50; notas10 = notas10 - (saque / 10); saque = saque % 10; notas5 = notas5 - (saque / 5); saque = saque % 5; notas1 = notas1 - saque; imprimeSaque(); } } public void deposito (int depo100, int depo50, int depo10, int depo5, int depo1) { //Método que recebe a quantidade de notas de 100, 50, 10, 5 e 1 a serem depositadas. notas100 = notas100 + depo100; notas50 = notas50 + depo50; notas10 = notas10 + depo10; notas5 = notas5 + depo5; notas1 = notas1 + depo1; } public void imprime () { //Método que imprime o saldo atual e a quantidade de notas de 100, 50, 10, 5 e 1 ducas. System.out.println ("Saldo atual: " + (notas100 * 100 + notas50 * 50 + notas10 * 10 + notas5 * 5 + notas1) + " ducas."); System.out.println ("Notas de 100 ducas: " + notas100 + "; notas de 50 ducas: " + notas50 + "; notas de 10 ducas: " + notas10 + "; notas de 5 ducas: " + notas5 + "; notas de 1 duca: " + notas1 + "."); } }