Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Projeto resolução

Criar um construtor para a classe Titular, que inicialize todas suas propriedades:

class Titular
{
    public Titular(string nome, string cpf, string endereco)
    {
        Nome = nome;
        Cpf = cpf;
        Endereco = endereco;
    }

    public string Nome { get; }
    public string Cpf { get; }
    public string Endereco { get; }
}

Criar um construtor para a classe Conta, que inicialize todas suas propriedades:

class Conta
{
    public Conta(Titular titular, int agencia, int numeroDaConta, double limite)
    {
        Titular = titular;
        Agencia = agencia;
        NumeroDaConta = numeroDaConta;
        Saldo = 0;
        Limite = limite;
    }

    public Titular Titular { get;  }
    public int Agencia { get;  }
    public int NumeroDaConta { get; }
    public double Saldo { get; }
    public double Limite { get; }

    public string Informacoes => $"Conta nº {this.NumeroDaConta}, Agência {this.Agencia}, Titular: {this.Titular.Nome} - Saldo: {this.Saldo}";
}

Instanciar uma Conta e exibir suas informações na tela, utilizando construtores.

Titular titular = new Titular("Silvia Silva", "000.000.001-91", "Rua da Gloria, 123");
Conta minhaConta = new Conta(titular, 134, 5859, 0);

Console.WriteLine(minhaConta.Informacoes);

Desenvolver uma classe que representa um catálogo de jogos, com uma lista de Jogos e métodos para manipular essa lista, bem como um construtor que faça sua inicialização.

public class Jogo
{
    public string Nome { get; }

    public string FaixaEtaria { get; }

    public string Genero { get; }

    public int Jogadores { get; }

    public string Plataforma { get; }

    public Jogo(string nome, string faixaEtaria, string gênero, int jogadores, string plataforma)
    {
        Nome = nome;
        FaixaEtaria = faixaEtaria;
        Genero = gênero;
        Jogadores = jogadores;
        Plataforma = plataforma;
    }
}
public class CatalogoJogos
{
    public string Nome { get; }

    public List<Jogo> JogosDisponiveis { get; }

    public CatalogoJogos(string nome)
    {
        Nome = nome;
        JogosDisponiveis = new List<Jogo>();
    }

   public void AdicionarJogo(Jogo nome)
   {
       if (!JogosDisponiveis.Contains(nome))
           JogosDisponiveis.Add(nome);
   }

   public void RemoverJogo(Jogo nome)
   {
       if (JogosDisponiveis.Contains(nome))
           JogosDisponiveis.Remove(nome);
   }

    public void ExibirCatalogo()
    {
        Console.WriteLine($"lista de jogos disponíveis no catálogo {Nome}");
        foreach (Jogo jogo in JogosDisponiveis)
        {
            Console.WriteLine($"{jogo.Nome} Gênero: {jogo.Genero}");
        }
    }
}
CatalogoJogos JogosDeFutebol = new CatalogoJogos("ESPORTES 2008");

JogosDeFutebol.AdicionarJogo(new Jogo("FIFA 2008", "LIVRE", "Esporte", 2, "PC"));
JogosDeFutebol.AdicionarJogo(new Jogo("NBA 2008", "LIVRE", "Esporte", 2, "PC"));
JogosDeFutebol.AdicionarJogo(new Jogo("MLB 2008", "LIVRE", "Esporte", 2, "PC"));

JogosDeFutebol.ExibirCatalogo();
1 resposta
solução!

Oi, Lucas! Como vai?

Seu projeto tá muito bem organizado! A construção das classes Titular, Conta, Jogo e CatalogoJogos mostra que você aplicou corretamente o uso de construtores e propriedades imutáveis, além de ter estruturado a lógica com clareza, especialmente ao usar uma List<Jogo> para manipular um catálogo.

Uma dica interessante para o futuro é usar interpolação de string para deixar a saída do catálogo mais descritiva. Veja este exemplo dentro do método ExibirCatalogo():


public void ExibirCatalogo()
{
    Console.WriteLine($"Jogos no catálogo: {Nome}");
    foreach (Jogo jogo in JogosDisponiveis)
    {
        Console.WriteLine($"- {jogo.Nome} | Gênero: {jogo.Genero} | Plataforma: {jogo.Plataforma}");
    }
}

Esse ajuste melhora a visualização e deixa a listagem mais completa e organizada.

Alura

Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!