Atividade 1: O sistema funciona por meio de menus interativos, nos quais o usuário escolhe a figura e o tipo de cálculo. As opções são mapeadas em um dicionário que associa números a objetos do tipo FormaGeometrica, responsáveis por executar os cálculos.
A arquitetura é composta por uma classe base (FormaGeometrica) e várias classes derivadas (Triangulo, Quadrado, Retangulo, Circulo e Losango), cada uma implementando suas próprias regras de cálculo.
Mais informações: https://github.com/diegotassodev/Exercicios/tree/main/Formas%20Geometricas
Atividade 2: O sistema modela diferentes tipos de funcionários dentro de uma empresa, utilizando herança e orientação a objetos.
A classe base Funcionario define atributos e comportamentos comuns, enquanto as classes derivadas especializam funções específicas, como Funcionário de TI, Programador, Analista, Jovem Aprendiz e Secretário.
Além disso, a classe Gerente é responsável pela gestão da equipe, permitindo adicionar membros, atribuir tarefas, visualizar informações dos funcionários e realizar ações administrativas, como alteração de salário e promoção.
Mais informações: https://github.com/diegotassodev/Exercicios/tree/main/Empresa
A partir da Atividade 3, as resoluções serão mais simples, considerando que já me aprofundei bastante no tema, foram mais de 5 horas nas atividades anteriores e consegui compreender bem os conceitos de orientação a objetos com herança.
Atividade 3
Conta.cs
namespace Banco.Modelo;
internal class Conta {
public virtual void CalcularSaldo() {
Console.Clear();
}
public virtual void AdicionarSaldoCorrente() {
Console.Clear();
}
public virtual void AdicionarSaldoPoupanca() {
Console.Clear();
}
}
ContaCorrente.cs
namespace Banco.Modelo;
internal class ContaCorrente : Conta {
internal decimal Saldo;
public override void CalcularSaldo() {
base.CalcularSaldo();
Console.WriteLine($"Você tem R${Saldo} na conta corrente.");
Console.ReadKey();
}
public override void AdicionarSaldoCorrente() {
base.AdicionarSaldoCorrente();
Console.Write("Quanto você deseja adicionar a conta corrente: R$");
decimal saldoExtra; decimal.TryParse(Console.ReadLine()!, out saldoExtra);
Saldo += saldoExtra;
}
}
ContaPoupanca.cs
namespace Banco.Modelo;
internal class ContaPoupanca : Conta {
internal decimal Saldo;
public override void CalcularSaldo() {
base.CalcularSaldo();
Console.WriteLine($"Você tem R${Saldo} na conta poupança.");
Console.ReadKey();
}
public override void AdicionarSaldoPoupanca() {
base.AdicionarSaldoPoupanca();
Console.Write("Quanto você deseja adicionar a conta poupança: R$");
decimal saldoExtra; decimal.TryParse(Console.ReadLine()!, out saldoExtra);
Saldo += saldoExtra;
}
}
Program.cs
namespace Banco.Modelo;
internal class Conta {
public virtual void CalcularSaldo() {
Console.Clear();
}
public virtual void AdicionarSaldoCorrente() {
Console.Clear();
}
public virtual void AdicionarSaldoPoupanca() {
Console.Clear();
}
}