All pastes #993802 Raw Edit

Someone

public text v1 · immutable
#993802 ·published 2008-04-22 21:25 UTC
rendered paste body
/*
 * 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 + ".");
  }
}