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();