Este é um sistema bancário simples desenvolvido em Python, que possibilita a criação de clientes, contas bancárias e a realização de transações, como depósitos e saques.
- Criação de Clientes: Permite adicionar novos clientes ao sistema, representados pela classe
PessoaFisica
, com informações como nome, CPF, data de nascimento e endereço - Criação de Contas Bancárias: Facilita a abertura de contas bancárias através da classe
ContaCorrente
, que podem ser associadas a um cliente. - Depósitos e Saques: Os clientes podem realizar depósitos e saques em suas contas bancárias.
- Exibição de Extrato: Permite visualizar o extrato de uma conta bancária, mostrando todas as transações realizadas.
O código é organizado em diversas classes e funções:
- Cliente (
Cliente
): Representa um cliente do banco, contendo informações básicas como endereço e uma lista de contas associadas. - Pessoa Física (
PessoaFisica
): Subclasse deCliente
, representa uma pessoa física com nome, data de nascimento, CPF e endereço. - Conta (
Conta
): Representa uma conta bancária genérica, com número, saldo, agência e cliente associado. - Conta Corrente (
ContaCorrente
): Subclasse deConta
, representa uma conta corrente com limite de saque e limite de saldo negativo. - Histórico (
Historico
): Mantém o registro de todas as transações realizadas em uma conta. - Transação (
Transacao
): Classe abstrata que representa uma transação genérica. - Saque (
Saque
): Subclasse deTransacao
, representa uma transação de saque. - Depósito (
Deposito
): Subclasse deTransacao
, representa uma transação de depósito.
- Menu (
menu()
): Exibe um menu de opções para o usuário interagir com o sistema. - Filtrar Cliente (
filtrar_cliente(cpf, clientes)
): Filtra um cliente pelo CPF na lista de clientes. - Recuperar Conta Cliente (
recuperar_conta_cliente(cliente)
): Recupera a conta de um cliente (atualmente retorna apenas a primeira conta associada ao cliente). - Depositar (
depositar(clientes)
): Permite que um cliente realize um depósito em sua conta. - Sacar (
sacar(clientes)
): Permite que um cliente realize um saque de sua conta. - Exibir Extrato (
exibir_extrato(clientes)
): Exibe o extrato de transações de uma conta bancária. - Criar Cliente (
criar_cliente(clientes)
): Permite a criação de um novo cliente. - Criar Conta (
criar_conta(numero_conta, clientes, contas)
): Permite a criação de uma nova conta bancária associada a um cliente. - Listar Contas (
listar_contas(contas)
): Lista todas as contas bancárias criadas no sistema. - Main (
main()
): Função principal que controla o fluxo do programa.
Para utilizar o sistema, execute o arquivo banco_poo.py
. Isso iniciará a interação com o sistema bancário, permitindo que você escolha diversas opções do menu para criar clientes, contas bancárias, realizar transações e visualizar extratos.
Contribuições são muito bem-vindas! Se você encontrar algum problema, bug ou tiver alguma sugestão de melhoria, sinta-se à vontade para abrir uma issue ou enviar um pull request.
Feito com ❤️ por Matheus Santos