Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Resolução] Faça como eu fiz: controle de matrícula

Estudante.cs

internal class Estudante(string nome)
{
    public string Nome { get; } = nome;
}

Curso.cs

internal class Curso(string nome, int vagasTotais)
{
    private readonly List<Estudante> _matriculas = [];
    public string Nome { get; } =  nome;
    public int VagasTotais = vagasTotais;
    public int VagasDisponiveis { get; private set; } = vagasTotais;

    public bool Matricular(Estudante estudante)
    {
        if (VagasDisponiveis > 0)
        {
            _matriculas.Add(estudante);
            VagasDisponiveis -= 1;
            Console.WriteLine($"Aluno(a) {estudante.Nome} adicionado com sucesso! O curso possui {VagasDisponiveis} {(VagasDisponiveis == 1 ? "vaga disponível" : "vagas disponíveis")}.");
            return true;
        }

        Console.WriteLine($"Erro: O(a) aluno(a) {estudante.Nome} não pode ser incluso no curso, pois não há mais vagas disponíveis.");
        return false;
    }

    public void ListarMatriculados()
    {
        StringBuilder sb = new();
        sb.AppendLine($"Estudantes matriculados em {Nome}:");
        
        foreach (var estudante in _matriculas)
           sb.AppendLine($" - {estudante.Nome}");
        sb.AppendLine($"Vagas disponíveis: {VagasDisponiveis}");

        Console.WriteLine(sb.ToString());
    }
}

Program.cs

Curso curso = new("Lógica de Programação", 2);
curso.Matricular(new Estudante("Rafaela"));
curso.Matricular(new Estudante("João"));
curso.Matricular(new Estudante("Mirela"));
curso.ListarMatriculados();
2 respostas
solução!

Oii Gerson, tudo bem?

Meus parabéns pela apresentação da sua resolução da atividade! Fico muito feliz em poder acompanhar o seu desenvolvimento junto à Alura.

O seu código ficou excelente e demonstra um ótimo domínio sobre os conceitos de encapsulamento em C#!

Iniciativas como a sua, de ir além e compartilhar o aprendizado, possuem total destaque no mercado de trabalho e reforçam o conhecimento da tecnologia como um todo.

Continue com esse foco nos mergulhos profundos!

Bons estudos!

Sucesso

Imagem da comunidade

Muito obrigado Victor, fico muito grato pelo feedback.