1
resposta

Projeto final

using ByteBank.Titular;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace ByteBank.Contas

{
    public class ContaCorrente
    {
        public static int TotalContasCriadas { get; set; }
        private int numero_agencia;
        public int Numero_agencia
        {
            get { return this.numero_agencia; }
            private set
            {
                if (value > 0)
                {
                    this.numero_agencia = value;
                }

            }
        }

        public string Conta { get; set; }
        private double saldo = 100;

        public Cliente Titular { get; set; }

        public void Depositar(double valor)
        {
            saldo = saldo + valor;
        }

        public bool Sacar(double valor)
        {
            if (valor <= saldo)
            {
                saldo = saldo - valor;
                return true;
            }
            else
            {
                return false;
            }
        }

        public bool Transferir(double valor, ContaCorrente destino)
        {
            if (saldo < valor)
            {
                return false;
            }
            else
            {
                Sacar(valor);
                destino.Depositar(valor);
                return true;
            }
        }

        public void SetSaldo(double valor)
        {
            if(valor < 0)
            {
                return;
            }
            else
            {
                this.saldo = valor;
            }
        }

        public double GetSaldo()
        {
            return this.saldo;
        }

        public ContaCorrente(int numero_agencia, string numero_conta)
        {
            this.Numero_agencia = numero_agencia;
            this.Conta = numero_conta;
            TotalContasCriadas++;
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ByteBank.Titular
{
    public class Cliente
    {
        public string Nome { get; private set; }
        public string Cpf { get; private set; }
        public string Profissao { get; set; }   

        public Cliente (string nome, string cpf, string profissao)
        {
            this.Nome = nome;
            this.Cpf = cpf;
            this.Profissao = profissao;
        }
    }
}

using ByteBank;
using ByteBank.Contas;
using ByteBank.Titular;

ContaCorrente conta1 = new ContaCorrente(30, "1515-X");
conta1.Titular = new Cliente("Marcelo Caselli", "987654321", "Analista");
Console.WriteLine("Total de Contas: " + ContaCorrente.TotalContasCriadas);
Console.WriteLine("Nome: " + conta1.Titular.Nome);
Console.WriteLine("CPF: " + conta1.Titular.Cpf);
Console.WriteLine("Profissão: " + conta1.Titular.Profissao);
Console.WriteLine("Ag: " + conta1.Numero_agencia);
Console.WriteLine("Conta: " + conta1.Conta);
conta1.SetSaldo(2000);
Console.WriteLine("Saldo em conta: " + conta1.GetSaldo());

Console.WriteLine("***************************************");

ContaCorrente conta2 = new ContaCorrente(40, "2020-X");
conta2.Titular = new Cliente("Davi", "123456789", "Estagiario");
Console.WriteLine("Total de contas: " + ContaCorrente.TotalContasCriadas);
Console.WriteLine("Nome: " + conta2.Titular.Nome);
Console.WriteLine("CPF: " + conta2.Titular.Cpf);
Console.WriteLine("Profissão: " + conta2.Titular.Profissao);
Console.WriteLine("Ag: " + conta2.Numero_agencia);
Console.WriteLine("Conta: " + conta2.Conta);
conta1.SetSaldo(1500);
Console.WriteLine("Saldo em conta: " + conta2.GetSaldo());
1 resposta

Bom dia Marcelo, blz?

Parabéns pela realização da atividade, continue praticando sempre e foco nos estudos!

Qualquer coisa, estamos à disposição!

Abraços e bons estudos 😄


Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software