Páginas

terça-feira, 21 de janeiro de 2014

App: Caixa Eletrônico

O código que irei postar hoje é um aplicativo que simula um caixa eletrônico. Primeiramente ele pede seu nome e o valor inicial de depósito. Em seguida o sistema cria um número de conta para você, esse número tem até 4 digitos. Logo em seguida, com a conta criada, é exibido um menu com quatro opções: extrato, saque, deposito e sair. No extrato são exibidas todas as informações da conta, no saque pode ser efetuada uma retirada de um valor e no deposito é feito o inserimento de um valor. O código apresenta algumas falhas, como depositar ou sacar valores negativos, digitar letras ao invés de números, entre outros pequenos problemas. Esses "bugs" não foram corrigidos pois o programa foi desenvolvido exatamente para que outras pessoas pudessem achar esses erros.

O código está dividido em duas classes. A classe principal 'Caixaeletronico.java' e a classe em que estão as informações da conta 'Conta.java'. Crie essas duas classes para por os códigos a seguir:

Código da classe: Caixaeletronico.java


import java.util.Scanner;
import java.util.Random;

public class Caixa {
    
    
    public static void main(String[] args){
        // Declarando as variáveis, Scanner e Random
        String nome;
        double inicial;
        Scanner entrada = new Scanner(System.in);
        Random numero = new Random();
        int conta = 1 + numero.nextInt(9999);
    
        //Obtendo os dados iniciais do Cliente
        System.out.println("Cadastrando novo cliente.");
        System.out.print("Ente com seu nome: ");
        nome = entrada.nextLine();
        
        System.out.print("Entre com o valor inicial depositado na conta: ");
        inicial = entrada.nextDouble();
        
        //Criando a conta de um cliente
        Conta minhaConta = new Conta(nome, conta, inicial);
        minhaConta.iniciar();
    }
    
    
}

Código da classe: Conta.java




package caixaeletronico;
import java.util.Scanner;

public class Conta {
   private String nome;
   private int conta;
   private int saques;
   private double saldo;
   Scanner entrada = new Scanner(System.in);
   
   public Conta(String nome, int conta, double saldo_inicial){
       this.nome=nome;
       this.conta=conta;
       saldo=saldo_inicial;
       saques=0;
    }
   
   public void extrato(){
        System.out.println("\tEXTRATO");
        System.out.println("Nome: " + this.nome);
        System.out.println("Número da conta: " + this.conta);
        System.out.printf("Saldo atual: %.2f\n",this.saldo);
        System.out.println("Saques realizados hoje: " + this.saques + "\n");   
   }
   
   public void sacar(double valor){
       if(saldo >= valor){
           saldo -= valor;
           saques++;
           System.out.println("Sacado: "+ valor);
           System.out.println("Novo saldo: " + saldo + "\n");   
       }else{
           System.out.println("Saldo insuficiente. Faça um depósito. \n");
       }
   }

   public void depositar(double valor){
       saldo += valor;
       System.out.println("Depositado: " + valor);
       System.out.println("Novo saldo: " + saldo);
       
   }
   
   public void iniciar(){
       int opcao;
       
       do{
           exibeMenu();
           opcao = entrada.nextInt();
           escolheOpcao(opcao);
       }while(opcao != 4);
   }
   
    public void exibeMenu(){
        
        System.out.println("\t Escolha a opção desejada");
        System.out.println("1 - Consultar Extrato");
        System.out.println("2 - Sacar");
        System.out.println("3 - Depositar");
        System.out.println("4 - Sair\n");
        System.out.print("Opção: ");
    }
    
    public void escolheOpcao(int opcao){
        double valor;
        
        switch(opcao){
            
                case 1:
                    extrato();
                    break;
                
                case 2:
                    if(saques < 3){
                        System.out.println("Insira o valor do saque: ");
                        valor = entrada.nextDouble();
                        sacar(valor);
                    }else{
                        System.out.println("Limite de saques diários atingidos.");
                    }
                    break;
                
                case 3:
                    System.out.println("Insira o valor do depósito: ");
                    valor = entrada.nextDouble();
                    depositar(valor);
                    break;
                    
                case 4:
                    System.out.println("Sistema encerrado. Obrigado pela preferência.");
                    break;
                    
                default:
                    System.out.println("Opção invalida.");
                    
                    
        }
    }
   
}


Você pode utilizar esse código utilizando o NetBeans ou outra IDE que suporte Java.

Nenhum comentário:

Postar um comentário