예제 #1
0
from conta import Conta
from client import Cliente

client1 = Cliente('Vitor', '371.002.988.06', 29)

print('Nome: ', client1.nome)
print('CPF: ', client1.cpf)
print('Idade: ', client1.idade)

conta1 = Conta('123', 50, 'R$ 1000,00')

print('Numero da conta: ', conta1.numero)
print('saldo em conta: R$ ', conta1.saldo)
print('limite da conta: ', conta1.limite)

conta1.sacar(30)

print('Saldo em conta: R$ ', conta1.saldo)

conta1.deposito(50)

print('Saldo em conta: R$ ', conta1.saldo)
예제 #2
0
class ClientThreading(threading.Thread):
    def __init__(self, clientAddress, clientsocket, sinc):
        threading.Thread.__init__(self)

        self._clientAddress = clienteAddress
        self._csocket = clientsocket
        self._sinc = sinc
        print("Nova conexão: ", clientAddress)

        self._contas = Conta()
        self._cpf_autenticado = None

    def run(self):
        while True:
            received = json.loads(self._csocket.recv(1024).decode())

            if received["action"] == "cadastro":
                self.registrar(received)
            elif received["action"] == "autenticar":
                self.autenticar(received)
            elif received["action"] == "saque":
                self._sinc.acquire()
                self.saque(received)
                self._sinc.release()
            elif received["action"] == "deposito":
                self._sinc.acquire()
                self.deposito(received)
                self._sinc.release()
            elif received["action"] == "transferir":
                self._sinc.acquire()
                self.transferir(received)
                self._sinc.release()
            elif received["action"] == "extrato":
                self.extrato()
            elif received["action"] == "sair":
                self.sair()

    def registrar(self, received):
        cliente = Pessoa(received["nome"], received["sobrenome"],
                         received["cpf"])

        if self._contas.cadastra(cliente):
            msg = "Cadastro realizado com sucesso!"
        else:
            msg = "Este CPF já foi cadastrado antes"

        print(msg)
        self._csocket.send(msg.encode())

    def autenticar(self, received):
        dicionario = {}
        conta = self._contas.busca(received["cpf"])

        if (conta):
            self._contas.atualizar_conta(True, conta[0])
            self._cpf_autenticado = conta[4]

            dicionario["autenticado"] = True
            dicionario["msg"] = f"{conta[2]} autenticado com sucesso!"
        else:
            dicionario["autenticado"] = False
            dicionario["msg"] = f"Esse CPF ainda não foi cadastrado!"

        print(dicionario["msg"])
        dicionario = json.dumps(dicionario)
        self._csocket.send(dicionario.encode())

    def saque(self, received):
        saque = self._contas.sacar(self._cpf_autenticado, received["valor"])

        if (saque):
            msg = "Saque efetuado com sucesso!"
        else:
            msg = "Saldo insuficiente!"

        print(msg)
        self._csocket.send(msg.encode())

    def deposito(self, received):

        self._contas.deposito(self._cpf_autenticado, received["valor"])
        msg = "Depósito efetuado com sucesso!"

        print(msg)
        self._csocket.send(msg.encode())

    def transferir(self, received):
        conta = self._contas.busca(received["cpf"])

        if conta:
            if self._contas.transferir(self._cpf_autenticado, received["cpf"],
                                       received["valor"]):
                msg = "Transferência efetuada com sucesso!"
            else:
                msg = "Saldo para transferência insuficiente"
        else:
            msg = "CPF não encontrado!"

        print(msg)
        self._csocket.send(msg.encode())

    def extrato(self):
        dicionario = dict()

        conta = self._contas.busca(self._cpf_autenticado)
        dicionario["numero"] = conta[1]
        dicionario["nome"] = f"{conta[2]} {conta[3]}"
        dicionario["cpf"] = conta[4]
        dicionario["saldo"] = conta[5]
        dicionario["limite"] = conta[6]

        dicionario = json.dumps(dicionario)
        self._csocket.send(dicionario.encode())

    def sair(self):
        conta = self._contas.busca(self._cpf_autenticado)
        self._contas.atualizar_conta(False, conta[0])

        self._cpf_autenticado = None

        msg = f"{conta[2]} saiu da conta!"
        print(msg)
        self._csocket.send(msg.encode())
        self._contas.mostrar_contas()
예제 #3
0
def test_deposito():
    conta = Conta(100)
    conta.deposito(10)
    assert conta.consultar_saldo() == 110
예제 #4
0
'''
print('                   Informações do Cliente                     ')

from cliente import Cliente

usuario = Cliente('João', 14285740770, 24)
print('Nome do cliente:', usuario.nome)
print('cpf:', usuario.cpf)
print('Idade do cliente:', usuario.idade)

print('                 Informações da conta do Cliente 2                 ')

from conta import Conta

cc = Conta('Camila', 14085950670, 22, 100000.00, 1000.00)
print('Nome do cliente:', cc.nome)
print('cpf:', cc.cpf)
print('Idade do cliente:', cc.idade)
print('Saldo da CC:R${:.2f}'.format(cc.saldo))
print('limite do cheque especial:R${:.2f}'.format(cc.limite))

retirada = input('Qual o valor da retirada.\nDigite aqui: R$')

cc.sacar(retirada)
print('Seu novo saldo é R${:.2f}'.format(cc.saldo))

deposit = input('Qual o valor que você deseja depositar?\nDigite aqui:R$')

cc.deposito(deposit)
print('Seu novo saldo é R${:.2f}'.format(cc.saldo))
예제 #5
0
from conta import Conta

conta = Conta("Brenon", 1200, "1234-5", 40000)

conta.extrato()

print("\n")

conta.limite = 12
conta.deposito(250.0)

conta.extrato()

conta.titular = "bryan"
예제 #6
0
        [ 3 ] Saldo
        [ 4 ] Sair
    '''))
    resp = ' '
    if opcao == 1:
        while True:
            saque = float(input('Digite valor que deseja sacar: R$ '))
            c1.saque(saque)
            resp = str(input('Deseja continuar? [S/N]: ').strip().upper()[0])
            if resp == 'N':
                break

    elif opcao == 2:
        while True:
            deposito = float(input('Digite o valor que deseja deposiar: R$ '))
            c1.deposito(deposito)
            resp = str(input('Deseja continuar? [S/N]: ').strip().upper()[0])
            if resp == 'N':
                break

    elif opcao == 3:
        while True:
            c1.extrato()
            resp = str(input('Retornar Menu principal? [S/N]: ').strip().upper()[0])
            if resp == 'S':
                break

    elif opcao == 4:
        print('Transação finalizada!')
        print('Volte sempre')
        break
예제 #7
0
from conta import Conta
from cliente import Cliente

Conta.cod_banco()

conta = Conta(123, 'Bruno', 100.00, 1000.00)
conta.deposito(50)
conta.extrato()

conta2 = Conta(456, 'Ana', 150.00, 1000)

conta.transfere(125.00, conta2)
conta.extrato()
conta2.extrato()

conta2.saque(5000)

print(conta.limite)
conta.limite = 10000.95
print(conta.limite)

cliente = Cliente('bruno')
print(cliente.nome)

cliente.nome = 'irineu'
print(cliente.nome)
예제 #8
0
from cliente import Cliente
from conta import Conta

nomeCliente = input('Digite o nome do cliente: ')
telefoneCliente = input('Digite o telefone do cliente: ')

cliente = Cliente(nomeCliente, telefoneCliente)

conta = Conta(cliente, 1, 1000)

conta.resumo()

conta.deposito(1000)
conta.saque(250)
conta.deposito(235)
conta.saque(700)
conta.saque(500)

conta.resumo()

conta.extrato()
        
예제 #9
0
# -*-  coding: utf-8 -*-

# Classe testes.py

print(60 * "=")

from clientes import Cliente
from conta import Conta

joão = Cliente("João da Silva", "1234-5678")
maria = Cliente("Maria Silva", "5678-1234")
josé = Cliente("José Silva", "6578-2134")

conta1 = Conta([joão], 1, 1000)
conta2 = Conta([maria, joão], 2, 500)
conta3 = Conta([joão, maria, josé], 3, 5000)
conta1.saque(5000)
conta2.deposito(300)
conta3.deposito(500)
conta1.saque(190)
conta2.deposito(95.15)
conta2.deposito(250)
conta3.deposito(150)
conta1.extrato()
conta2.extrato()
conta3.extrato()

print(60 * "=")
예제 #10
0
from conta import Conta

conta1 = Conta(12, "junior", 200)

conta1.alterar_nome("Eudes")
conta1.deposito(1000)
conta1.saque(500)