Novata__Desafio Caixa Eletrico

1 resposta
D

Boa noite pessoal, sou novata na área(já vou avisando)!
Meu professor me passou um programa de caixa eletronico, consegui fazer quase ele todo, apenas a última parte que está me dando um pouco mais de dor de cabeça.
Ele pede pra desenvolver um algoritmo que faça o depósito de quantidade de cédulas de notas conforme o modelinho lá(ok), depois carregar a quantidade de notas que o algoritmo irá permitir até 100 saques: O cliente poderá sacar um valor solicitado ou pré-estabelecido( 2x 20,00 / 3x10,00 / 4x5,00)(ok), exibir as notas disponíveis para saque antes da solicitação do valor(ok), a retirada das notas será sempre do maior pela menor(ok), na solicitação receber o código do banco e o valor do saque, que será armazenado em uma matriz(beleza também).

O que ta pegando mesmo é que no final, ele pede pra exibir o banco que mais efetuou saque e a média dos valores; maior e menor valor sacado(Independente do banco); e
pra validar se a quantidade de notas retiradas é igual à quantidade de saques efetuados;

Alguém pode me ajudar em como eu poderia resolver esse último tópico?

Segue como fiz tudo isso ai:

import javax.swing.*;
public class Banco {

	public static void main(String args [ ])
	{
		String cedTxt=""; // inicializa
		String vtCodBanc[];
		int cont = 0, valorSaq, qtiCed, codBancReceber;
		int vtPosicao[], vtInvert[];
		vtPosicao = new int [6];
		vtInvert = new int [vtPosicao.length];
		vtCodBanc = new String [5]
						
		// deposita as notas		
		vtPosicao[0] = 2;
		vtPosicao[1] = 5;
		vtPosicao[2] = 10;
		vtPosicao[3] = 20;
		vtPosicao[4] = 50;
		vtPosicao[5] = 100;
		
		// codigo banco
		vtCodBanc[0] = "Itau/Unibanco";
		vtCodBanc[1] = "Santander";
		vtCodBanc[2] = "Brasil";
		vtCodBanc[3] = "Caixa Economica Federal";
		vtCodBanc[4] = "Bradesco";
		
						  // 6
		for (cont=0; cont<vtPosicao.length; cont++)
		{
			// junta o valor das cedulas de vtPosicao[cont] em cedTxt
			cedTxt = cedTxt + "\n" + vtPosicao[cont];
		}
		
		// ordem descrescente
		for (cont=0; cont<vtInvert.length; cont++)  
        {
        	// vtInvert[0] = vtPosicao[6 - 0 - 1]
        	// vtInvert[1] = vtPosicao[6 - 1 - 1]
        	vtInvert[cont] = vtPosicao[vtPosicao.length - cont - 1];  
        }
        
		// mostra as notas disponiveis
		JOptionPane.showMessageDialog(null,"NOTAS DISPONIVEIS:"+ cedTxt);
		
		valorSaq = Integer.parseInt(JOptionPane.showInputDialog("QUANTO DESEJA SACAR?"));
		
        codBancReceber = Integer.parseInt(JOptionPane.showInputDialog("DIGITE O CODIGO DO BANCO:"));
		
		System.exit(0); 
	}
	
	
}

*E esses comentários no meio, é pra eu ir recordando e talz!

Desde já agradeço!

1 Resposta

R

Depois você vê como vai organizar no seu código, se quiser testar, eu faria assim:

Criaria 1 variável para contar cada banco, tipo:

// codigo banco

vtCodBanc[0] = Itau/Unibanco;

vtCodBanc[1] = Santander;

vtCodBanc[2] = Brasil;

vtCodBanc[3] = Caixa Economica Federal;

vtCodBanc[4] = Bradesco;

Criaria também, assim:

// Contador para os bancos

int contItau = 0;

int conSantander = 0;

int contBrasil = 0;

int contCaixa = 0;

int contBradesco = 0;

Depois criaria um switch com os cases, por exemplo:

switch(codBancReceber) {

case 1 : {contItau++;};

case 2 : {contSantander++;};

case 3 : {contBrasil++;};

case 4 : {contCaixa++;};

case 5 : {contBradesco++;};

Mais ou menos assim, dai no final voce compararia cada, não lembro do método que pega o maior valor inteiro de X variáveis, ou então faz manualmente, um if pra comparar todos.

if(contItau > contSantander) {

System.out.println(Banco de mais efetuou saque é o Itau);

}

Isso só pra clarear mais seu pensamento.

Para apresentar o maior e menor valor sacado, é semelhante. Tipo, na hora de informar o saque, o primeiro valor sacado vai ser o MaiorSaque, dai no proximo saque faz 1 if, exemplo:

if(Saque < MaiorSaque) {

MenorSaque = Saque;

} else if(Saque > MaiorSaque) {

MaiorSaque = Saque;

}

entende ?

Vai tratando isso a cada saque, dai ele sempre vai armazenar o maior e menor saques, a média, é so criar uma variavel que vai somando todos os valores dos saques, e outro contador que vai informar a quantidade de saques, depois so dividir o valor total de saques pelo total de saques efetuados.

Abraços.

Criado 27 de maio de 2012
Ultima resposta 27 de mai. de 2012
Respostas 1
Participantes 2