1
resposta

[Projeto] Controle de matrícula

Curso.cs

public class Curso
{
    public string Nome { get; set; }
    public int VagasTotais { get; set; }
    private List<Estudante> matriculas;

    public Curso(string nome, int vagasTotais)
    {
        this.Nome = nome;
        this.VagasTotais = vagasTotais;
        this.matriculas = new List<Estudante>();
    }

    public bool Matricular(Estudante estudante)
    {
        if (matriculas.Count >= VagasTotais)
        {
            Console.WriteLine("Erro: Não há vagas disponíveis para este curso.");
            return false;
        }
        matriculas.Add(estudante);
        Console.WriteLine("Estudante matriculado com sucesso.");
        return true;
    }

    public void ListarMatriculados()
    {
        Console.WriteLine($"Estudantes matriculados em {Nome}:");
        foreach (var estudante in matriculas)
        {
            Console.WriteLine("- " + estudante.Nome);
        }
        Console.WriteLine("Vagas disponíveis: " + VagasDisponiveis);
    }

    public int VagasDisponiveis
    {
        get { return VagasTotais - matriculas.Count; }
    }
}

Estudante.cs

public class Estudante
{
    public string Nome { get; set; }

    public Estudante(string nome)
    {
        Nome = nome;
    }
}

Program.cs

Curso curso = new Curso("Engenharia de Computação", 5);
curso.Matricular(new Estudante("Matheus Oliveira"));
curso.Matricular(new Estudante("João Silva"));
curso.Matricular(new Estudante("Maria Santos"));
curso.Matricular(new Estudante("Ana Costa"));
curso.Matricular(new Estudante("Carlos Pereira"));
curso.Matricular(new Estudante("Lucas Almeida"));
curso.ListarMatriculados();
1 resposta

Oi, Matheus, tudo bem?

Parabéns pela resolução do exercício! Sua lógica está corretíssima. Você usou muito bem as propriedades apenas com get para calcular a Media e a Situacao de forma dinâmica, além de aplicar o operador ternário (? :) que deixa o código bem limpo e elegante.

Mandou muito bem! Continue praticando e conte sempre com a Alura para evoluir nos seus estudos de C#.

Bons estudos!

Sucesso

Imagem da comunidade