Program.cs
using Escola.Modelos;
Console.Clear();
Curso curso = new Curso("Lógica de Programação", 2);
curso.Matricular(new Estudante("Rafaela"));
curso.Matricular(new Estudante("João"));
curso.Matricular(new Estudante("Mirela"));
Console.WriteLine();
curso.ListarMatriculados();
Curso.cs
namespace Escola.Modelos;
class Curso {
public string? Nome {get;set;}
public int VagasTotais {get;}
public int VagasDisponiveis => VagasTotais - matriculas.Count();
private List<Estudante> matriculas = new();
public Curso(string? nome, int vagasTotais) {
Nome = nome;
VagasTotais = vagasTotais;
}
public bool Matricular(Estudante estudante) {
if (VagasDisponiveis > 0) {
matriculas.Add(estudante);
Console.WriteLine($"Aluno {estudante.Nome} adicionado com sucesso!");
return true;
}
else {
Console.WriteLine("Não é possível adicionar mais alunos.");
return false;
}
}
public void ListarMatriculados() {
Console.WriteLine("Lista de estudantes: ");
matriculas.ForEach(estudante => Console.WriteLine($"- {estudante.Nome}"));
Console.WriteLine($"Vagas Disponíveis: {VagasDisponiveis}");
}
}
Estudante.cs
namespace Escola.Modelos;
class Estudante {
public string? Nome {get; set;}
public Estudante(string? nome) {
Nome = nome;
}
}