0
respostas

Desafio: Classes e Relacionamentos

  1. Modelar uma classe Conta, que tenha como atributos uma classe Titular, além de informações da conta, como agência, número da conta, saldo e limite, bem como um método que devolva as informações da conta de forma detalhada.
  2. Instanciar um objeto do tipo Conta e um do tipo Titular e mostrar as informações de Titular, a partir da Conta.
  • 1 e 2:
    - Conta
class Conta
{
    private decimal _saldo;
    private decimal _limite;
    public string? NumeroConta {  get; set; }
    public string? Agencia {  get; set; }
    public decimal Saldo { get=> _saldo; }
    public decimal Limite { get => _limite; }
    public Titular? TitularConta {  get; set; }
    public void ExibirInformacoes()
    {
        Console.WriteLine($"Número da conta: {NumeroConta}");
        if (TitularConta != null)
        {
            Console.WriteLine($"Titular da Conta: {TitularConta.Nome}");
        }
        Console.WriteLine($"Agência do Cliente: {Agencia}");
        Console.WriteLine($"Saldo da conta: R${_saldo}");
        Console.WriteLine($"Limite da conta: R${_limite}");
    }

    public void AlterarSaldo(decimal saldo)
    {
        _saldo = saldo;
    }
    public void DefinirLimite(decimal limite)
    {
        _limite = limite;
    }
}
  • Titular
class Titular
{
    public string? Nome {  get; set; }
}
  • Main:
Titular t1 = new Titular();
t1.Nome = "Paulo Cavalcante";

Conta c1 = new Conta();
c1.NumeroConta = "1234-2";
c1.Agencia = "0000-2";
c1.TitularConta = t1;
c1.AlterarSaldo(2000.99m);
c1.DefinirLimite(10000m);

c1.ExibirInformacoes();
  • Saída:
Número da conta: 1234-2
Titular da Conta: Paulo Cavalcante
Agência do Cliente: 0000-2
Saldo da conta: R$2000,99
Limite da conta: R$10000
  1. Desenvolver uma classe que represente um estoque de produtos, e que tenha as funcionalidades de adicionar novos produtos, e exibir todos os produtos no estoque.
  • Estoque
class Estoque
{
    public List<Produto> produtos = new List<Produto>();
    public void AdicionarProduto(Produto produto)
    { 
        produtos.Add(produto);
        Console.WriteLine("Produto adicionado com sucesso!!");
    }

    public void ExibirProdutos()
    {
        Console.WriteLine("\n\tEstoque Completo: \n");
        foreach(var produto in produtos)
        {
            Console.WriteLine(produto.Nome);
        }
    }
}
  • Produto:
class Produto
{
    private decimal _preco;
    public string? Nome {  get; set; }
    public string? Marca {  get; set; }
    public decimal Preco
    {
        get => _preco;
        set
        {
            if (value >=0)
            {
                _preco = value;
            }
        }
    }
  
    public string? ExibirProduto => $"Produto: {Nome}, Marca: {Marca}, Valor: {Preco}";
    public void ExibirInformacoes()
    {
        Estoque estoque = new Estoque();
        Console.WriteLine($"Produto: {Nome}");
        Console.WriteLine($"Marca: {Marca}");
        if (_preco > 0)
        {
            Console.WriteLine($"Preço: {Preco}");
        }
        else
        {
            Console.WriteLine("Valor inválido!!");
        }
        Console.WriteLine(ExibirProduto);
    }
}
  1. Modelar o sistema de uma escola. Crie classes para Aluno, Professor e Disciplina. A classe Aluno deve ter informações como nome, idade e notas. A classe Professor deve ter informações sobre nome e disciplinas lecionadas. A classe Disciplina deve armazenar o nome da disciplina e a lista de alunos matriculados.
  • Professor:
class Professor
{
    public string Nome { get; set; }
    public List<Disciplina> Disciplinas = new List<Disciplina>();
}

Aluno:

class Aluno {
    public string Nome {  get; set; }
    public int Idade {  get; set; }
    public List <double> Notas {  get; set; }
}

**Disciplina: **

class Disciplina
{
    public string Nome { get; set; }
    public List<Aluno> AlunosMatriculados = new List<Aluno>();
}
  1. Modelar um sistema para um restaurante com classes como Restaurante, Mesa, Pedido e Cardapio. A classe Restaurante deve ter mesas que podem ser reservadas e um cardápio com itens que podem ser pedidos. Os pedidos podem estar associados a uma mesa.
class Restaurante
{
    public List<Mesa> mesas = new List<Mesa>();
    public Cardapio cardapio = new Cardapio();
}
class Pedido
{
    public int NumeroPedido;
    public Mesa Mesa;
}
class Cardapio
{
    public List<string> itensDisponiveis;
}
    class Mesa
{
    public int numeroMesa;
}