05-29-2011, 05:40 PM
Spoiler (Click to View)
package fatec.ads.lp;
import javax.swing.JOptionPane;
public class CaixaEletronico {
static int notas[] = {100, 50, 20, 10, 5, 2, 1}, // ARMAZENA AS NOTAS
quant[] = new int[7], // ARMAZENA A QUANTIDADE DE NOTAS
saque = 0, // RECEBE O VALOR DO SAQUE (SERÁ REESCRITA)
saqueBackup[] = new int[2], // ARMAZENA O SAQUE (ANTES DE SER REESCRITO) E O CODIGO DO BANCO
totalCarregado = 0, // ARMAZENA O TOTAL CARREGADO PARA GERAR ESTATISTICAS
maiorSaque[] = new int[2], // RECEBE O MAIOR SAQUE E O CODIGO DO BANCO
menorSaque = 0, // RECEBE O MENOR SAQUE
contSaque = 0, // CONTA A QUANTIDADE DE SAQUES EFETUADOS COM SUCESSO PARA GERAR ESTATISTICAS
acmSaque = 0; // ACUMULA OS VALORES SACADOS
static String bancos[] = {"SANTANDER", "ITAU", "REAL", "BRADESCO", "B.BRASIL", "CX.ECON.FEDERAL"}; // ARMAZENA O NOME DOS BANCOS
public static void main(String[] args) {
int opc = 0;
while (opc != 9) {
opc = Integer.parseInt(JOptionPane.showInputDialog("\tCaixa Eletronico\n\n1 - Carregar Caixa\n"
+ "2 - Sacar\n3 - Estatisticas\n9 - Sair\n" + exibirDisp()));
// EXIBIRDISP RETORNA UMA STRING COM AS NOTAS DISPONIVEIS
switch (opc) {
case 1:
carregarCaixa(); // CHAMA O MODULO QUE CARREGA O CAIXA
break;
case 2:
if (quant[0] != 0 && quant[1] != 0 && quant[2] != 0) { // VERIFICA SE NOTAS MAIORES ESTÃO DISPONIVEIS
notasPreferencia(); // PARA CHAMAR O METODO DE SELEÇÃO DE NOTAS
} else {
realizarSaque(); // SE NÃO EXISTIR NOTAS "GRANDES" DESPONIVEIS O SAQUE
} // É EXECUTADO NORMALMENTE.
break;
case 3:
exibirEstatisticas(); // CHAMA O METODO QUE EXIBE AS ESTATISTICAS
break;
case 9:
System.exit(0);
break;
default:
JOptionPane.showMessageDialog(null, "\tOpção inválida, digite novamente...\n");
}
}
}
static void carregarCaixa() {
String senha = "123456", // SENHA DE ACESSO
aux = ""; // VARIAVEL QUE RECEBE A SENHA DE ACESSO
if (totalCarregado == 0) { // SE O CAIXA NÃO FOI CARREGADO AINDA
aux = JOptionPane.showInputDialog("Digite senha de acesso: ");
if (senha.equals(aux)) {
for (int x = 0; x <= notas.length - 1; x++) {
quant[x] = Integer.parseInt(JOptionPane.showInputDialog("Digite a quantidade de notas de R$" + notas[x] + ",00: "));
totalCarregado = totalCarregado + (notas[x] * quant[x]);
}
JOptionPane.showMessageDialog(null, "Caixa carregado com sucesso.");
} else {
JOptionPane.showMessageDialog(null, "Senha inválida.\n\n");
}
} else {
JOptionPane.showMessageDialog(null, "O caixa já foi carregado.\nNão é possivel carrega-lo novamente.");
}
}
static void realizarSaque() {
int bufferQuant[] = new int[7], // ARMAZENA AS NOTAS QUE PODERÃO SER ESCONTADAS DO VETOR QUANTI
montante = retornaTotal(), // MONTANTE RECEBE O VALOR TOTAL QUE É RETORNADO PELA FUNÇÃO RETORNATOTAL
resto = 0; // VARIAVEL QUE RECEBE O RESULTADO DA DIVISÃO DO SAQUE PELA NOTA.
String exibeSaque = ""; // VARIAVEL QUE IRÁ ARMAZENAR A QUANTIDADE DE NOTAS QUE SERÁ EXIBIDO NO FINAL DO SAQUE
saque = Integer.parseInt(JOptionPane.showInputDialog("\tLimite de saque é R$2000,00\nDigite o valor a ser sacado: "));
saqueBackup[1] = saque; // BACKUP DO SAQUE É REALIZADO PARA GERAR ESTATISTICAS.
saqueBackup[0] = Integer.parseInt(JOptionPane.showInputDialog("1 - SANTANDER\n2 - ITAU\n3 - REAL\n4 - BRADESCO\n5 - B.BRASIL\n6 - CX.ECON.FEDERAL"));
if (saque <= 2000 && saque < montante) {
for (int x = 0; x <= notas.length - 1; x++) {
if (quant[x] != 0) { // SE QUANTIDADE DE NOTAS X DIFERENTE DE ZERO
resto = saque / notas[x]; // RESTO RECEBE O VALOR DA DIVISÃO DE SAQUE POR NOTAS X
if (resto < quant[x]) { // SE RESTO FOR MENOR QUE A QUANTIDADE DE NOTAS X
if (resto != 0) { // SE RESTO FOR DIFERENTE DE ZERO (ISSO EVITA QUE SEJA EXIBIDO "0 NOTAS DE 100")
exibeSaque = exibeSaque + "\n" + Integer.toString(resto) + "nota(s) de R$" + Integer.toString(notas[x]) + " ";
// EXIBESAQUE CONCATENA A QUANTIDADE DE NOTAS E A NOTA, PULA A LINHA A CADA VOLTA PELO LAÇO
// ESSA ROTINA É FEITA PARA NÃO EXIBIR UMA CAIXA DE DIALOGO A CADA LAÇO E PARA NÃO EXIBIR VALORES
// ANTES DO SAQUE SER REALMENTE VALIDADO, EXEMPLO:
// EXIBESAQUE ACUMULA OS VALORES DO SAQUE, CASO AO FINAL DO MODULO REALIZARSAQUE A VARIAVEL SAQUE NÃO FOR IGUAL A ZERO
// SIGNIFICA QUE O SAQUE NÃO PODE SER REALIZADO POIS NÃO HAVIA NOTAS SUFICIENTES.
// NESSE CASO A VARIAVEL EXIBESAQUE NÃO SERA EXIBIDA, O UNICO RETORNO QUE O USUARIO TERA
// É QUE O CAIXA NÃO DISPOE ESSE VALOR.
saque = saque - (resto * notas[x]);
bufferQuant[x] = bufferQuant[x] + resto;
// O VETOR QUANTI NÃO É DESCONTADO, NESSE CASO O VALOR É ACUMULADO NO VETOR BUFFERQUANT,
// SOMENTE QUANDO O SAQUE FOR VALIDADO QUE O VALOR DO QUANTI SERA FINALMENTE DESCONTADO PELO DO BUFFERQUANT
// ISSO EVITA QUE SAQUES QUE NÃO FORAM REALIZADOS DESCONTEM NOTAS DO CAIXA.
}
} else {
exibeSaque = exibeSaque + "\n" + Integer.toString(quant[x]) + "notas(s) de R$" + Integer.toString(notas[x]) + " ";
saque = saque - (quant[x] * notas[x]);
bufferQuant[x] = bufferQuant[x] + quant[x];
// ESSE BLOCO OCORRE QUANDO O A QUANTIDADE DE NOTAS É MENOR DO QUE A QUANTIDADE QUE DEVERIA SER SACADA, EX:
// O SAQUE É DE 450 REAIS E O CAIXA DISPOE DE 3 NOTAS DE 100 E N NOTAS DE 50.
}
}
}
if (saque == 0) { // SE O SAQUE FOR IGUAL A ZERO DEPOIS DO LAÇO SIGNIFICA QUE O SAQUE FOI REALIZADO COM SUCESSO.
JOptionPane.showMessageDialog(null, exibeSaque); // DESSA FORMA É EXIBIDA A SAIDA
for (int x = 0; x <= notas.length - 1; x++) {
quant[x] = quant[x] - bufferQuant[x]; // A QUANTIDADE DE NOTAS É DESCONTADA
}
contSaque++; // O CONTADOR DE SAQUE INCREMENTADO
acmSaque += saqueBackup[1]; // O ACUMULADOR DOS SAQUES ACUMULA O VALOR DO SAQUE EFETUADO
gerarEstatisticas(); // O MODULO QUE GERA ESTATISTICAS É CHAMADO
} else {
JOptionPane.showMessageDialog(null, "Valor indisponivel.\n(Para grandes valores selecione notas maiores.)");
// ESSA MENSAGEM É EXIBIDA PORQUE SE A NOTA ESCOLHIDA NÃO FOR INDICADA PARA O SAQUE DIGITADO POR EXEMPLO.
// 1900 REAIS EM NOTAS DE 20, O CAIXA PODE NÃO REALIZAR O SAQUE MESMO POSSUINDO NOTAS SUFICENTES ( DE 100 NO CASO )
// UM TESTE PODERIA SER INSERIDO FAZENDO ALGUMAS ALTERAÇÕES, MAS NÃO VI UMA REAL NECESSIDADE PARA CRIAR ESSE TESTE.
// NO CASO ELE TENDO O RETORNO DE QUE O SAQUE COM NOTAS X NÃO FOI POSSIVEL ELE IGNORA A NOTA SELECIONADA PELO USUARIO
// E TENTA REALIZAR O SAQUE COM NOTAS MAIORES.
}
} else {
JOptionPane.showMessageDialog(null, "Valor indisponivel.");
}
}
static String exibirDisp() { // É A FUNÇÃO QUE RETORNA AS NOTAS DISPONIVEIS NO CAIXA
String notasDisp = " ";
for (int x = 0; x <= notas.length - 1; x++) {
if (quant[x] != 0) {
notasDisp = (notasDisp + " R$" + Integer.toString(notas[x]) + ",00 |");
}
}
return notasDisp;
}
static int retornaTotal() { // É A FUNÇÃO QUE RETORNA O VALOR TOTAL DISPONIVEL NO CAIXA
int montante = 0;
for (int x = 0; x <= notas.length - 1; x++) {
montante = montante + (quant[x] * notas[x]);
}
return montante;
}
static void notasPreferencia() { // PROCEDIMENTO QUE ANTECEDE O SAQUE E POSSIBILIDA A ESCOLHA DAS NOTAS
int notasBackup[] = {100, 50, 20, 10, 5, 2, 1},
buffer = 0,
opc = 0;
notas = notasBackup;
opc = Integer.parseInt(JOptionPane.showInputDialog("Você prefere quais notas?\n"
+ "1 - R$" + notas[0] + "\n2 - R$" + notas[1] + "\n3 - R$" + notas[2] + "\n"
+ "9 - Continuar\n\t(Pode variar de acordo com a disponibilidade)."));
// A ESCOLHA DAS NOTAS FOI LIMITADA ENTRE NOTAS ALTAS; CEM, CINQUENTA E VINTE
// POR PURA CONVENIENCIA, NÃO HÁ DIFICULDADE EM IMPLEMENTAR DE OUTRA FORMA
// MAS ATÉ PELA DISPONIBILIDADE DO SISTEMA QUE VISA MANTER O CAIXA ATIVO POR MAIS TEMPO
opc = opc - 1;
if (opc >= 0 && opc <= 3) { // ESSE BLOCO DE CODIGO CRESCEU CONFORME OS ERROS FORAM APARECENDO
buffer = notas[0]; // E NAO DIMINUIU CONFORME EU DESCOBRIA QUE OS ERROS NÃO VINHAM DELE.
notas[0] = notas[opc];
notas[opc] = buffer;
buffer = quant[0];
quant[0] = quant[opc];
quant[opc] = buffer;
}
realizarSaque();
}
static void exibirEstatisticas() { // PROCEDIMENTO QUE EXIBE AS ESTATISTICAS
if (contSaque != 0) {
JOptionPane.showMessageDialog(null, "Maior saque: " + maiorSaque[1] + "\n"
+ "Banco: " + bancos[maiorSaque[0]-1] + "\n"
+ "Média geral dos bancos: " + (acmSaque / contSaque) + "\n"
+ "Entrada: " + totalCarregado + "\t Saida: " + acmSaque);
}
}
static void gerarEstatisticas() { // PROCEDIMENTO QUE GERA AS ESTATISTICAS
if (contSaque == 1) { // ATUALMENTE NEM EU ENTENDO O MESMO.
maiorSaque = saqueBackup;
menorSaque = saqueBackup[1];
} else {
if (maiorSaque[1] < saqueBackup[1]) {
maiorSaque = saqueBackup;
} else {
if (menorSaque > saqueBackup[1]) {
menorSaque = saqueBackup[1];
}
}
}
}
}
import javax.swing.JOptionPane;
public class CaixaEletronico {
static int notas[] = {100, 50, 20, 10, 5, 2, 1}, // ARMAZENA AS NOTAS
quant[] = new int[7], // ARMAZENA A QUANTIDADE DE NOTAS
saque = 0, // RECEBE O VALOR DO SAQUE (SERÁ REESCRITA)
saqueBackup[] = new int[2], // ARMAZENA O SAQUE (ANTES DE SER REESCRITO) E O CODIGO DO BANCO
totalCarregado = 0, // ARMAZENA O TOTAL CARREGADO PARA GERAR ESTATISTICAS
maiorSaque[] = new int[2], // RECEBE O MAIOR SAQUE E O CODIGO DO BANCO
menorSaque = 0, // RECEBE O MENOR SAQUE
contSaque = 0, // CONTA A QUANTIDADE DE SAQUES EFETUADOS COM SUCESSO PARA GERAR ESTATISTICAS
acmSaque = 0; // ACUMULA OS VALORES SACADOS
static String bancos[] = {"SANTANDER", "ITAU", "REAL", "BRADESCO", "B.BRASIL", "CX.ECON.FEDERAL"}; // ARMAZENA O NOME DOS BANCOS
public static void main(String[] args) {
int opc = 0;
while (opc != 9) {
opc = Integer.parseInt(JOptionPane.showInputDialog("\tCaixa Eletronico\n\n1 - Carregar Caixa\n"
+ "2 - Sacar\n3 - Estatisticas\n9 - Sair\n" + exibirDisp()));
// EXIBIRDISP RETORNA UMA STRING COM AS NOTAS DISPONIVEIS
switch (opc) {
case 1:
carregarCaixa(); // CHAMA O MODULO QUE CARREGA O CAIXA
break;
case 2:
if (quant[0] != 0 && quant[1] != 0 && quant[2] != 0) { // VERIFICA SE NOTAS MAIORES ESTÃO DISPONIVEIS
notasPreferencia(); // PARA CHAMAR O METODO DE SELEÇÃO DE NOTAS
} else {
realizarSaque(); // SE NÃO EXISTIR NOTAS "GRANDES" DESPONIVEIS O SAQUE
} // É EXECUTADO NORMALMENTE.
break;
case 3:
exibirEstatisticas(); // CHAMA O METODO QUE EXIBE AS ESTATISTICAS
break;
case 9:
System.exit(0);
break;
default:
JOptionPane.showMessageDialog(null, "\tOpção inválida, digite novamente...\n");
}
}
}
static void carregarCaixa() {
String senha = "123456", // SENHA DE ACESSO
aux = ""; // VARIAVEL QUE RECEBE A SENHA DE ACESSO
if (totalCarregado == 0) { // SE O CAIXA NÃO FOI CARREGADO AINDA
aux = JOptionPane.showInputDialog("Digite senha de acesso: ");
if (senha.equals(aux)) {
for (int x = 0; x <= notas.length - 1; x++) {
quant[x] = Integer.parseInt(JOptionPane.showInputDialog("Digite a quantidade de notas de R$" + notas[x] + ",00: "));
totalCarregado = totalCarregado + (notas[x] * quant[x]);
}
JOptionPane.showMessageDialog(null, "Caixa carregado com sucesso.");
} else {
JOptionPane.showMessageDialog(null, "Senha inválida.\n\n");
}
} else {
JOptionPane.showMessageDialog(null, "O caixa já foi carregado.\nNão é possivel carrega-lo novamente.");
}
}
static void realizarSaque() {
int bufferQuant[] = new int[7], // ARMAZENA AS NOTAS QUE PODERÃO SER ESCONTADAS DO VETOR QUANTI
montante = retornaTotal(), // MONTANTE RECEBE O VALOR TOTAL QUE É RETORNADO PELA FUNÇÃO RETORNATOTAL
resto = 0; // VARIAVEL QUE RECEBE O RESULTADO DA DIVISÃO DO SAQUE PELA NOTA.
String exibeSaque = ""; // VARIAVEL QUE IRÁ ARMAZENAR A QUANTIDADE DE NOTAS QUE SERÁ EXIBIDO NO FINAL DO SAQUE
saque = Integer.parseInt(JOptionPane.showInputDialog("\tLimite de saque é R$2000,00\nDigite o valor a ser sacado: "));
saqueBackup[1] = saque; // BACKUP DO SAQUE É REALIZADO PARA GERAR ESTATISTICAS.
saqueBackup[0] = Integer.parseInt(JOptionPane.showInputDialog("1 - SANTANDER\n2 - ITAU\n3 - REAL\n4 - BRADESCO\n5 - B.BRASIL\n6 - CX.ECON.FEDERAL"));
if (saque <= 2000 && saque < montante) {
for (int x = 0; x <= notas.length - 1; x++) {
if (quant[x] != 0) { // SE QUANTIDADE DE NOTAS X DIFERENTE DE ZERO
resto = saque / notas[x]; // RESTO RECEBE O VALOR DA DIVISÃO DE SAQUE POR NOTAS X
if (resto < quant[x]) { // SE RESTO FOR MENOR QUE A QUANTIDADE DE NOTAS X
if (resto != 0) { // SE RESTO FOR DIFERENTE DE ZERO (ISSO EVITA QUE SEJA EXIBIDO "0 NOTAS DE 100")
exibeSaque = exibeSaque + "\n" + Integer.toString(resto) + "nota(s) de R$" + Integer.toString(notas[x]) + " ";
// EXIBESAQUE CONCATENA A QUANTIDADE DE NOTAS E A NOTA, PULA A LINHA A CADA VOLTA PELO LAÇO
// ESSA ROTINA É FEITA PARA NÃO EXIBIR UMA CAIXA DE DIALOGO A CADA LAÇO E PARA NÃO EXIBIR VALORES
// ANTES DO SAQUE SER REALMENTE VALIDADO, EXEMPLO:
// EXIBESAQUE ACUMULA OS VALORES DO SAQUE, CASO AO FINAL DO MODULO REALIZARSAQUE A VARIAVEL SAQUE NÃO FOR IGUAL A ZERO
// SIGNIFICA QUE O SAQUE NÃO PODE SER REALIZADO POIS NÃO HAVIA NOTAS SUFICIENTES.
// NESSE CASO A VARIAVEL EXIBESAQUE NÃO SERA EXIBIDA, O UNICO RETORNO QUE O USUARIO TERA
// É QUE O CAIXA NÃO DISPOE ESSE VALOR.
saque = saque - (resto * notas[x]);
bufferQuant[x] = bufferQuant[x] + resto;
// O VETOR QUANTI NÃO É DESCONTADO, NESSE CASO O VALOR É ACUMULADO NO VETOR BUFFERQUANT,
// SOMENTE QUANDO O SAQUE FOR VALIDADO QUE O VALOR DO QUANTI SERA FINALMENTE DESCONTADO PELO DO BUFFERQUANT
// ISSO EVITA QUE SAQUES QUE NÃO FORAM REALIZADOS DESCONTEM NOTAS DO CAIXA.
}
} else {
exibeSaque = exibeSaque + "\n" + Integer.toString(quant[x]) + "notas(s) de R$" + Integer.toString(notas[x]) + " ";
saque = saque - (quant[x] * notas[x]);
bufferQuant[x] = bufferQuant[x] + quant[x];
// ESSE BLOCO OCORRE QUANDO O A QUANTIDADE DE NOTAS É MENOR DO QUE A QUANTIDADE QUE DEVERIA SER SACADA, EX:
// O SAQUE É DE 450 REAIS E O CAIXA DISPOE DE 3 NOTAS DE 100 E N NOTAS DE 50.
}
}
}
if (saque == 0) { // SE O SAQUE FOR IGUAL A ZERO DEPOIS DO LAÇO SIGNIFICA QUE O SAQUE FOI REALIZADO COM SUCESSO.
JOptionPane.showMessageDialog(null, exibeSaque); // DESSA FORMA É EXIBIDA A SAIDA
for (int x = 0; x <= notas.length - 1; x++) {
quant[x] = quant[x] - bufferQuant[x]; // A QUANTIDADE DE NOTAS É DESCONTADA
}
contSaque++; // O CONTADOR DE SAQUE INCREMENTADO
acmSaque += saqueBackup[1]; // O ACUMULADOR DOS SAQUES ACUMULA O VALOR DO SAQUE EFETUADO
gerarEstatisticas(); // O MODULO QUE GERA ESTATISTICAS É CHAMADO
} else {
JOptionPane.showMessageDialog(null, "Valor indisponivel.\n(Para grandes valores selecione notas maiores.)");
// ESSA MENSAGEM É EXIBIDA PORQUE SE A NOTA ESCOLHIDA NÃO FOR INDICADA PARA O SAQUE DIGITADO POR EXEMPLO.
// 1900 REAIS EM NOTAS DE 20, O CAIXA PODE NÃO REALIZAR O SAQUE MESMO POSSUINDO NOTAS SUFICENTES ( DE 100 NO CASO )
// UM TESTE PODERIA SER INSERIDO FAZENDO ALGUMAS ALTERAÇÕES, MAS NÃO VI UMA REAL NECESSIDADE PARA CRIAR ESSE TESTE.
// NO CASO ELE TENDO O RETORNO DE QUE O SAQUE COM NOTAS X NÃO FOI POSSIVEL ELE IGNORA A NOTA SELECIONADA PELO USUARIO
// E TENTA REALIZAR O SAQUE COM NOTAS MAIORES.
}
} else {
JOptionPane.showMessageDialog(null, "Valor indisponivel.");
}
}
static String exibirDisp() { // É A FUNÇÃO QUE RETORNA AS NOTAS DISPONIVEIS NO CAIXA
String notasDisp = " ";
for (int x = 0; x <= notas.length - 1; x++) {
if (quant[x] != 0) {
notasDisp = (notasDisp + " R$" + Integer.toString(notas[x]) + ",00 |");
}
}
return notasDisp;
}
static int retornaTotal() { // É A FUNÇÃO QUE RETORNA O VALOR TOTAL DISPONIVEL NO CAIXA
int montante = 0;
for (int x = 0; x <= notas.length - 1; x++) {
montante = montante + (quant[x] * notas[x]);
}
return montante;
}
static void notasPreferencia() { // PROCEDIMENTO QUE ANTECEDE O SAQUE E POSSIBILIDA A ESCOLHA DAS NOTAS
int notasBackup[] = {100, 50, 20, 10, 5, 2, 1},
buffer = 0,
opc = 0;
notas = notasBackup;
opc = Integer.parseInt(JOptionPane.showInputDialog("Você prefere quais notas?\n"
+ "1 - R$" + notas[0] + "\n2 - R$" + notas[1] + "\n3 - R$" + notas[2] + "\n"
+ "9 - Continuar\n\t(Pode variar de acordo com a disponibilidade)."));
// A ESCOLHA DAS NOTAS FOI LIMITADA ENTRE NOTAS ALTAS; CEM, CINQUENTA E VINTE
// POR PURA CONVENIENCIA, NÃO HÁ DIFICULDADE EM IMPLEMENTAR DE OUTRA FORMA
// MAS ATÉ PELA DISPONIBILIDADE DO SISTEMA QUE VISA MANTER O CAIXA ATIVO POR MAIS TEMPO
opc = opc - 1;
if (opc >= 0 && opc <= 3) { // ESSE BLOCO DE CODIGO CRESCEU CONFORME OS ERROS FORAM APARECENDO
buffer = notas[0]; // E NAO DIMINUIU CONFORME EU DESCOBRIA QUE OS ERROS NÃO VINHAM DELE.
notas[0] = notas[opc];
notas[opc] = buffer;
buffer = quant[0];
quant[0] = quant[opc];
quant[opc] = buffer;
}
realizarSaque();
}
static void exibirEstatisticas() { // PROCEDIMENTO QUE EXIBE AS ESTATISTICAS
if (contSaque != 0) {
JOptionPane.showMessageDialog(null, "Maior saque: " + maiorSaque[1] + "\n"
+ "Banco: " + bancos[maiorSaque[0]-1] + "\n"
+ "Média geral dos bancos: " + (acmSaque / contSaque) + "\n"
+ "Entrada: " + totalCarregado + "\t Saida: " + acmSaque);
}
}
static void gerarEstatisticas() { // PROCEDIMENTO QUE GERA AS ESTATISTICAS
if (contSaque == 1) { // ATUALMENTE NEM EU ENTENDO O MESMO.
maiorSaque = saqueBackup;
menorSaque = saqueBackup[1];
} else {
if (maiorSaque[1] < saqueBackup[1]) {
maiorSaque = saqueBackup;
} else {
if (menorSaque > saqueBackup[1]) {
menorSaque = saqueBackup[1];
}
}
}
}
}