1
resposta

[Projeto] Sistema de Escola

Classe Aluno

    public class Aluno
    {
        public string Nome { get; set; }
        public double Nota { get; set; }
        public int Idade { get; set; }
    }

Classe Professor

public class Professor
    {
        public string Nome { get; set; }
        public List<Disciplinas> DisciplinasLecionadas = new List<Disciplinas>();
        public void Disciplinas(Disciplinas disciplina)
        {
            DisciplinasLecionadas.Add(disciplina);
        }

        public void ListarDisciplinas()
        {
            Console.WriteLine($"Disciplinas que o professor(a): {Nome} é responsável");
            foreach (var disciplina in DisciplinasLecionadas)
            {
                Console.WriteLine(disciplina.Nome);
            }
        }
    }

Classe Disciplina

    public class Disciplinas
    {
        public string Nome { get; set; }
        public List<Aluno> AlunosMatriculados = new List<Aluno>();
        
        public void MatricularAluno(Aluno aluno)
        {
            AlunosMatriculados.Add(aluno);
        }
        public void DesmatricularAluno(Aluno aluno)
        {
            AlunosMatriculados.Remove(aluno);
        }

        public void ListarAlunoMatriculados()
        {
            Console.WriteLine($"Alunos Matriculados na disciplina {Nome}");
            foreach (var aluno in AlunosMatriculados)
            {
                Console.WriteLine(aluno.Nome);
            }
        }
    }
1 resposta

E aí, Alycia! Tudo bem?

Parabéns! Mantenha o ritmo nos exercícios e continue compartilhando na nossa comunidade.

Percebi que você praticou o uso de listas genéricas com List<T> para organizar os dados, aplicou muito bem o encapsulamento de responsabilidades entre as classes e ainda entendeu a relevância de métodos personalizados para manipular e exibir informações de forma clara e funcional.

Uma sugestão para evoluir ainda mais é usar LINQ com o objetivo de filtrar ou ordenar alunos por nota. Veja só:

using System.Linq;

public void ListarAlunosOrdenadosPorNota()
{
    var ordenados = AlunosMatriculados.OrderByDescending(a => a.Nota);
    Console.WriteLine($"Alunos da disciplina {Nome} ordenados por nota:");
    foreach (var aluno in ordenados)
    {
        Console.WriteLine($"{aluno.Nome} - Nota: {aluno.Nota}");
    }
}

Essa abordagem ajuda a extrair informações mais relevantes dos dados, o que pode ser muito útil para relatórios ou dashboards acadêmicos.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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