1
resposta

Desafio - Aula 03 - Escola e Restaurante

Modelar o sistema de uma escola. Crie classes para Aluno, Professor e Disciplina. A classe Aluno deve ter informações como nome, idade e notas. A classe Professor deve ter informações sobre nome e disciplinas lecionadas. A classe Disciplina deve armazenar o nome da disciplina e a lista de alunos matriculados.

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

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

class Professor
{
    public string Nome { get; set; }
    public List<Disciplina> disciplinas = new List<Disciplina>();

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

    public void AtribuirDisciplinas(Disciplina disciplina)
    {
        disciplinas.Add(disciplina);
    }
}

class Disciplina
{
    public string Nome { get; set; }
    public List<Aluno> Alunos { get; set; } = new List<Aluno>();

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

    public void AdicionarAluno(Aluno aluno)
    {
        Alunos.Add(aluno);
    }

    public void ExibirDisciplinasEAlunos(Disciplina disc)
    {

        Console.WriteLine($"\nDisciplina: {Nome}");
        if (Alunos.Count == 0)
        {
            Console.WriteLine($"A disciplina {Nome} está sem alunos matriculados");
        }
        else
        {
            foreach (var aluno in Alunos)
            {
                Console.WriteLine($"- {aluno.Nome}");
            }

        }
        Console.WriteLine();
    }
}

Modelar um sistema para um restaurante com classes como Restaurante, Mesa, Pedido e Cardapio. A classe Restaurante deve ter mesas que podem ser reservadas e um cardápio com itens que podem ser pedidos. Os pedidos podem estar associados a uma mesa.

class Restaurante
{
    public string Nome { get; set; }
    public List<Mesa> Mesas { get; set; } = new List<Mesa>();
    public Cardapio Cardapio { get; set; } = new Cardapio();
}

class Mesa
{
    public int NumeroMesa { get; set; }
    public List<Pedido> Pedido { get; set; } = new List<Pedido>();
}

class Pedido
{
    public int quantidade { get; set; }
    public Produto produto { get; set; }
}

class Cardapio
{
    public List<Produto> Itens { get; set; } = new List<Produto>();
}

class Produto
{
    public int Codigo { get; set}
    public string Nome { get; set; }
    public double Preco { get; set; }
}
1 resposta

Olá Fábio! Como vai?

Parece que você está no caminho certo com a modelagem dos sistemas para a escola e o restaurante. Vou te dar algumas dicas e sugestões para aprimorar ainda mais suas classes.

Sistema da Escola

  1. Classe Aluno:

    • Você já incluiu nome, idade e notas, o que é ótimo. Considere adicionar um método para calcular a média das notas, caso os alunos tenham várias notas.
  2. Classe Professor:

    • Está bem estruturada. Você pode adicionar métodos para listar as disciplinas que o professor leciona.
  3. Classe Disciplina:

    • Está bem organizada. O método ExibirDisciplinasEAlunos poderia ser melhorado para listar todas as disciplinas e seus alunos, não apenas uma específica.

Sistema do Restaurante

  1. Classe Restaurante:

    • Considere adicionar métodos para gerenciar reservas de mesas, como reservar ou liberar uma mesa.
  2. Classe Mesa:

    • Está boa, mas você pode adicionar um método para calcular o total dos pedidos associados a essa mesa.
  3. Classe Pedido:

    • Está simples e funcional. Você pode adicionar um método para calcular o valor total de um pedido com base na quantidade e no preço do produto.
  4. Classe Cardapio:

    • Está bem estruturada. Considere adicionar métodos para adicionar ou remover itens do cardápio.
  5. Classe Produto:

    • Parece que você esqueceu de fechar a chave no Codigo. Além disso, você pode adicionar um método para exibir as informações do produto.

Aqui está um exemplo de como você pode adicionar um método para calcular o total de um pedido na classe Pedido:

class Pedido
{
    public int Quantidade { get; set; }
    public Produto Produto { get; set; }

    public double CalcularTotal()
    {
        return Quantidade * Produto.Preco;
    }
}

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.