Classe AutomatedTellerMachine
import java.util.Scanner;
public class AutomatedTellerMachine {
public static void main(String[] args) {
// x é do laço while
int x=1;
int p=0;
Conta[] minhasContas = new Conta[5];
Scanner input = new Scanner ( System.in );
populaVetorContas(minhasContas, 5);
boolean achou = false;
// laço de repetição nao ira sair pois o numero x nao é alterado ja tem um valor fixo.
while (x!=0){
// invoca o método para popular a base (vetor) de contas
// passa por parâmetro o vetor para ser populado e a quantidade de posições
//tela de boas vindas do Usuario
System.out.println("+-------------------------------+");
System.out.println("| Bem vindo Ao caixa Eletronico |");
System.out.println("+-------------------------------+");
System.out.println("|Numero da conta: |");
// vai ler os dados informados pelo usuario;
int num = input.nextInt();
System.out.println("|Senha da conta: |");
int sen = input.nextInt();
System.out.println("+-------------------------------|");
// busca o numero da conta e a senha na base (vetor de contas)
Conta c = new Conta();
for (int i = 0; i < 5; i++) {
c = minhasContas[i];
//verifica se a o numero da conta e senha do usuario confere;
if (c.numero == num && c.senha == sen) {
p=i;
achou = true;
break;
}
}
// verifica se a busca encontrou ou não o numero e senha de conta
if (achou) {
//efetuado novo laço de repetição da conta desejada
int a=0;
while (a!=5){
//Conta clin = new Conta();
//clin.detalhe();
System.out.println("\nConta encontrada no ATM\n");
System.out.println("+-------------------------------+");
System.out.println("| Menu Cliente |");
System.out.println("+---+--------------------------+");
System.out.println("| 1 | Saldo |");
System.out.println("| 2 | Saque |");
System.out.println("| 3 | Deposito |");
System.out.println("| 4 | Transferencia |");
System.out.println("| 5 | Fim de sessao do ATM |");
System.out.println("+---+--------------------------+");
System.out.println("\nEscolha uma Opção: ");
a = input.nextInt();
if (a==1){
System.out.println("seu saldo é: ");
c.saldo();
}
if (a==2){
c.saca();
}
if (a==3){
c.depositar();
}
if (a==4){
int testa = 0;
Conta co = new Conta();
System.out.println("\n+---------------------------------+\n");
do {
System.out.println("Conta de destino: ");
float conta_destino = input.nextInt();
float valor;
for (int i = 0; i < 5; i++)
{
co = minhasContas[i];
if (co.numero == conta_destino)
{
++testa;
valor = c.transfere();
co.saldo = co.saldo + valor;
c = minhasContas[p];
}
}
if (testa == 0)
{
System.out.print("\nConta não encontrada no ATM!");
System.out.print("\nDigite novamente a conta de destino\n\n!");
}
} while (testa == 0);
System.out.println("\n+---------------------------------+\n");
}
}
} else {
System.out.println("\nConta NÃO encontrada");
System.out.println("Confira numero da Conta e Senha\n");
}
System.out.println("\nATM Finalizado");
}
}
public static void populaVetorContas(Conta minhasContas[], int qtdContas) {
// dados dos objetos conta
// cada posição do vetor corresponde a um objeto Conta
int numerosConta[] = {1,2,3,4,5};
int senhasConta[] = {11,22,33,44,55};
float limitesConta[] = {1000,2000,3000,4000,5000};
float saldosConta[] = {10,0,20,30,40};
// dados dos objetos cliente
// cada posição do vetor corresponde a um objeto cliente
// do atributo titular da conta
String nomesCliente[] = {"Astolfo","Baruk","Rubião","Fernando","Adriano"};
int cpfsCliente[] = {033,034,035,036,037};
// define os objetos e atribui ao vetor
for (int i = 0; i < qtdContas; i++) {
// cria objeto conta
Conta conta = new Conta ();
// definie os valores dos atributos
conta.numero = numerosConta[i];
conta.senha = senhasConta[i];
conta.limite = limitesConta[i];
conta.saldo = saldosConta[i];
// cria objeto cliente
Cliente cliente = new Cliente();
// define os valores dos atributos
cliente.nome = nomesCliente[i];
cliente.cpf = cpfsCliente[i];
// define o objeto cliente no atributo titular da conta
conta.titular = cliente;
minhasContas[i] = conta;
}
}
}
Classe Conta
import java.util.Scanner;
public class Conta {
int numero;
int senha;
float limite;
float saldo;
String nome;
int cpf;
Cliente titular;
/*public void detalhe(){
System.out.println("Nome "+ this.titular);
System.out.println("CPF"+this.cpf);
}
*/
//deposita
public void depositar(){
System.out.println("+---------------------------------+\n");
Scanner input = new Scanner (System.in);
float valor = 0;
System.out.println("Valor do Depósito: ");
valor = input.nextFloat();
if (valor != 0)
{
this.saldo = (float) (this.saldo + valor);
System.out.println("\nDepósito efetuado com sucesso!\n");
}
System.out.println("+---------------------------------+\n\n");
}
// saca()
public void saca(){
int opcao=0;
float valor=0;
while(opcao!=6){
Scanner input = new Scanner (System.in);
System.out.println("+-------------------------+5");
System.out.println("| Tela saque |");
System.out.println("+-------------------------+");
System.out.println("| 1 | Sacar RS20,00 |");
System.out.println("| 2 | Sacar RS40,00 |");
System.out.println("| 3 | Sacar RS60,00 |");
System.out.println("| 4 | Sacar RS100,00 |");
System.out.println("| 5 | Sacar outros valores|");
System.out.println("| 6 | Cancelar saque |");
System.out.println("+-------------------------+");
System.out.println("informe o codigo: ");
opcao = input.nextInt();
if (opcao == 1)
{
valor = 20;
opcao = 6;
}
if (opcao == 2)
{
valor = 40;
opcao = 6;
}
if (opcao == 3)
{
valor = 60;
opcao = 6;
}
if (opcao == 4)
{
valor = 100;
opcao = 6;
}
if (opcao == 5)
{
System.out.println("\n\nValor do Saque: ");
valor = input.nextFloat();
opcao = 6;
}
if (valor > this.saldo+this.limite)
{
System.out.println("\n\nO valor do seu saque deve ser menor que o saldo e o limite!\n");
System.out.println("Escolha outro valor!");
opcao = 6;
}
if (valor <= this.saldo+this.limite && valor != 0)
{
this.saldo = this.saldo - valor;
System.out.println("\nSaque de R$"+ valor +" efetuado com sucesso!\n");
opcao = 6;
}
if (opcao == 6)
{
System.out.println("Voltando ao menu principal...");
opcao = 6;
}
}
}
// transfere()
public float transfere(){
float valor=1;
Scanner input = new Scanner (System.in);
int aux=1;
while(aux!=0){
System.out.println("Valor da Transferência: ");
valor = input.nextFloat();
if (valor > this.saldo+this.limite)
{
System.out.println("\n\nO valor da sua transferência deve ser menor que o saldo e o limite!\n");
}
if (valor <= this.saldo+this.limite && valor != 0)
{
this.saldo = this.saldo - valor;
System.out.println("\n\nTransferência feita com sucesso!\n");
}
aux=0;
}
return valor;
}
// getSaldo()
public void saldo(){
System.out.println("Saldo : "+ this.saldo);
}
}
Nenhum comentário:
Postar um comentário