Você está na página 1de 18

UNIVERSIDADE UNOPAR

ENGENHARIA DE SOFTWARE

LINGUAGEM ORIENTADA A OBJETOS

Sandrine Nascimento Vitorino

2023
Sandrine Nascimento Vitorino

LINGUAGEM ORIENTADA A OBJETOS

Trabalho de Engenharia de Software apresentado à


Universidade Unopar, como requisito parcial para a
obtenção de média na disciplina de Linguagem
Orientada a Objetos

Orientador: Tutora Jessica Fernandes Lopes

2023
ATIVIDADE PROPOSTA

Utilizando os principais conceitos do paradigma de Orientação a


Objetos, crie uma pequena aplicação de gerenciamento bancário que
possibilite ao usuário informar seu nome, sobrenome e CPF. Além disso,
a aplicação deverá possibilitar ao usuário consultar saldo, realizar
depositos e saques. Esses procedimentos devem se repetir até que o
usuário escolha encerrar o uso da aplicação.
3

DESENVOLVIMENTO

Segue abaixo imagens do código sendo criado:

Criado o projeto gerenciaBanco e iniciação do código.


4

código sendo construído:


5
6
7

Código finalizado.
8

RESULTADOS

Em seguida imagens do código sendo executado com sucesso:

Com o código executado selecionei a opção 1 onde faço o cadastro


utilizando Nome, sobrenome e CPF.
9
10

Neste código, a classe ‘Banco’ gerencia as contas bancárias


usando um array de ‘ContaBancaria’. A classe ‘ContaBancaria’
contém informações sobre o cliente e seu saldo. O programa
principal, na classe ‘gerenciaBanco’, exibe um menu para o
usuário e permite que eles escolham as operações desejadas,
como criar uma conta, consultar saldo, fazer depósitos e
retiradas. A execução do programa continua até que o usuário
escolha encerrar. Certifique-se de criar um novo projeto Java
no ambiente de desenvolvimento que você está utilizando e
adicionar este código às classes correspondentes.
11

A baixo todo o código criado:

/*
* Click
nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-
default.txt to change this license
*/

package com.mycompany.gerenciabanco;

/**
*
* @author Acer
*/

import java.util.Scanner;

public class GerenciaBanco {

public static void main(String[] args) {


Scanner scanner = new Scanner(System.in);
Banco banco = new Banco();

System.out.println("Bem-vindo ao Vitorino Banco VTN!");


12

do {
exibirMenu();
int escolha = scanner.nextInt();
scanner.nextLine(); // Consumir a quebra de linha

switch (escolha) {
case 1:
System.out.println("Informe seu nome:");
String nome = scanner.nextLine();
System.out.println("Informe seu sobrenome:");
String sobrenome = scanner.nextLine();
System.out.println("Informe seu CPF:");
String cpf = scanner.nextLine();
banco.criarConta(nome, sobrenome, cpf);
break;
case 2:
System.out.println("Informe seu CPF:");
cpf = scanner.nextLine();
banco.consultarSaldo(cpf);
break;
case 3:
System.out.println("Informe seu CPF:");
cpf = scanner.nextLine();
System.out.println("Informe o valor do depósito:");
13

double valorDeposito = scanner.nextDouble();


banco.realizarDeposito(cpf, valorDeposito);
break;
case 4:
System.out.println("Informe seu CPF:");
cpf = scanner.nextLine();
System.out.println("Informe o valor da retirada:");
double valorRetirada = scanner.nextDouble();
banco.realizarRetirada(cpf, valorRetirada);
break;
case 5:
System.out.println("Obrigado por utilizar o Vitorino
Banco VTN!");
System.exit(0);
default:
System.out.println("Opção inválida. Por favor,
escolha uma opção válida.");
}
} while (true);
}

public static void exibirMenu() {


System.out.println("\nMenu:");
System.out.println("1. Criar conta");
System.out.println("2. Consultar saldo");
14

System.out.println("3. Realizar depósito");


System.out.println("4. Realizar retirada");
System.out.println("5. Encerrar");
System.out.print("Escolha uma opção: ");
}
}

class ContaBancaria {
private String nome;
private String sobrenome;
private String cpf;
private double saldo;

public ContaBancaria(String nome, String sobrenome, String


cpf) {
this.nome = nome;
this.sobrenome = sobrenome;
this.cpf = cpf;
this.saldo = 0.0;
}

public void depositar(double valor) {


saldo += valor;
}
15

public void retirar(double valor) {


if (saldo >= valor) {
saldo -= valor;
} else {
System.out.println("Saldo insuficiente para realizar a
retirada.");
}
}

public double consultarSaldo() {


return saldo;
}

public String getCpf() {


return cpf;
}
}

class Banco {
private ContaBancaria[] contas;
private int numContas;

public Banco() {
contas = new ContaBancaria[100];
numContas = 0;
16

public void criarConta(String nome, String sobrenome, String


cpf) {
if (numContas < 100) {
contas[numContas] = new ContaBancaria(nome,
sobrenome, cpf);
numContas++;
System.out.println("Conta criada com sucesso!");
} else {
System.out.println("Limite de contas atingido. Não é
possível criar mais contas.");
}
}

public void consultarSaldo(String cpf) {


for (int i = 0; i < numContas; i++) {
if (contas[i].getCpf().equals(cpf)) {
System.out.println("Saldo atual: R$" +
contas[i].consultarSaldo());
return;
}
}
System.out.println("Conta não encontrada.");
}
17

public void realizarDeposito(String cpf, double valor) {


for (int i = 0; i < numContas; i++) {
if (contas[i].getCpf().equals(cpf)) {
contas[i].depositar(valor);
System.out.println("Depósito realizado com
sucesso!");
return;
}
}
System.out.println("Conta não encontrada.");
}

public void realizarRetirada(String cpf, double valor) {


for (int i = 0; i < numContas; i++) {
if (contas[i].getCpf().equals(cpf)) {
contas[i].retirar(valor);
System.out.println("Retirada realizada com
sucesso!");
return;
}
}
System.out.println("Conta não encontrada.");
}
}

Você também pode gostar