1
resposta

Desafio Conta Bancária

Olá, tudo bem?

Segue sugestão de solução para a atividade 3 do desafio:

Modelos/ContaBancaria.cs

class ContaBancaria
{
    protected double Saldo { get; set; }
    
    public ContaBancaria(double saldoInicial = 0)
    {
        Saldo = saldoInicial;
    } 

    public virtual void Depositar(double valor)
    {
        if(valor > 0)
        {
            Saldo += valor;
        }
        else
        {
            throw new ArgumentException("O valor do depósito deve ser maior que 0.");
        }
    }
    public virtual void Sacar(double valor)
    {
        if (valor > 0)
        {
            if (Saldo > valor)
            {
                Saldo -= valor;
            }
            else{
                throw new ArgumentException("Saldo insuficiente.");
            }
        }
        else
        {
            throw new ArgumentException("O valor de saque deve ser maior que 0.");
        }
    }
    public virtual double CalcularSaldo()
    {
        return Saldo;
    }
}

Modelos/ContaCorrente.cs

class ContaCorrente : ContaBancaria
{
    private double TaxaManutencao { get; set; }
    public ContaCorrente(double saldoInicial = 0, double taxaManutencao = 0) : base(saldoInicial)
    {
        TaxaManutencao = taxaManutencao;
    }
    public override void Sacar(double valor)
    {
        base.Sacar(valor + TaxaManutencao);
    }
}

Modelos/ContaPoupanca.cs

class ContaPoupanca : ContaBancaria
{
    private double TaxaRendimento { get; set; }
    public ContaPoupanca(double saldoInicial = 0, double taxaRendimento = 0) : base(saldoInicial)
    {
        TaxaRendimento = taxaRendimento;
    }

    public override void Sacar(double valor)
    {
        base.Sacar(valor);
    }
    public override double CalcularSaldo()
    {
        return base.CalcularSaldo() * (1 + TaxaRendimento);
    }
}

Program.cs

class Program
{
    static void Main(string[] args)
    {
        ContaCorrente cc = new(1000, 5);
        ContaPoupanca cp = new(1000, 0.05);

        cc.Depositar(500);
        Console.WriteLine($"Saldo após depósito da Conta Corrente: {cc.CalcularSaldo()}");
        cc.Sacar(500);
        Console.WriteLine($"Saldo após sacar da Conta Corrente: {cc.CalcularSaldo()}");


        cp.Depositar(500);
        Console.WriteLine($"Saldo após depósito da Conta Poupança: {cp.CalcularSaldo()}");
        cp.Sacar(500);
        Console.WriteLine($"Saldo após sacar da Conta Poupanca: {cp.CalcularSaldo()}");
    }
}
1 resposta

Obrigado por compartilhar