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 + ".");
}
}