1 - Modelar uma classe Conta, que tenha como atributos uma classe Titular, além de informações da conta, como agência, número da conta,
      saldo e limite, bem como um método que devolva as informações da conta de forma detalhada.
2 - Instanciar um objeto do tipo Conta e um do tipo Titular e mostrar as informações de Titular, a partir da Conta.
class Titular
{
    public Titular (string name)
    {
        Name = name;
    }
    public string Name { get;}
    public string Endereco { get; set; }
    public string Cpf { get; set; }
}
class Conta
{
    public Conta(Titular nome, float limite, int numeroConta)
    {
        Nome = nome;
        Limite = limite;
        NumConta = numeroConta;
    }
    private Titular Nome { get; }
    public int Agencia { get; set; }
    private int NumConta { get; }
    public float Saldo { get; set; }
    private float Limite { get; }
    public void ExibirInformacoes()
    {
        Console.WriteLine("Aqui esta as informações da sua conta:\n");
        Console.WriteLine($"Titular: {Nome.Name}\nCPF: {Nome.Cpf}\nNúmero da Conta: {NumConta}\nAgência: {Agencia}\nSaldo Atual: {Saldo}\nLimite: {Limite}");
    }
}
3 - Desenvolver uma classe que represente um estoque de produtos, e que tenha as funcionalidades de adicionar novos produtos, e exibir todos os produtos no estoque.
class Estoque
{
    List<Produto> Produtos = new List<Produto>();
    public void AdicionarProduto(Produto p)
    {
        Produtos.Add(new Produto(p.Nome, p.Descricao, p.Preco, p.QuantidadeProduto));
    }
    public void ExibirProdutos()
    {
        Console.WriteLine($"Estoque de Produtos");
        foreach (Produto produto in Produtos)
        {
            Console.WriteLine($"Produto: {produto.Nome}\nDescricao: {produto.Descricao}\nPreco: {produto.Preco}\nQuantidade: {produto.QuantidadeProduto}");
        }
    }
}
class Produto
{
    public Produto(string nome, string descricao, double preco, int quantidadeProduto)
    {
        Nome = nome;
        Descricao = descricao;
        Preco = preco;
        QuantidadeProduto = quantidadeProduto;
    }
    public string Nome { get;}
    public string Descricao { get; }
    public double Preco { get;}
    public int QuantidadeProduto { get;}
    public void ExibirProduto()
    {
        Console.WriteLine($"Produto: {Nome}\nDescricao: {Descricao}\nPreco: {Preco}\nQuantidade: {QuantidadeProduto}");
    }
}
4 - 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 float Notas { get; set; }
}
class Professor
{
    public string Nome { get; set; }
    private List<Disciplina> Disciplinas = new List<Disciplina>();
    public void ExibirInformacoes()
    {
        Console.WriteLine($"Professor: {Nome}");
        foreach ( var d in Disciplinas)
        {
            d.ExibirDiciplinasAlunos();
        }
    }
    public void AdicionarDiciplinas(Disciplina disciplina)
    {
        Disciplinas.Add(disciplina);
    }
    public void RemoverDisciplina(Disciplina disciplina)
    {
        Console.WriteLine($"Removendo Disciplina de {disciplina.NomeDiciplina} do professor {Nome} ");
        Disciplinas.Remove(disciplina);
    }
}
class Disciplina
{
    public string NomeDiciplina { get; set; }
    private List<Aluno> Alunos = new List<Aluno>();
    public void AdicionarAlunos(Aluno alunos)
    {
        Alunos.Add(alunos);
    }
    public void ExibirDiciplinasAlunos()
    {
        Console.WriteLine($"Diciplina: {NomeDiciplina}");
        foreach (var alunos in Alunos)
        {
            Console.WriteLine($"Aluno: {alunos.Nome}\nIdade: {alunos.Idade}\nNota {alunos.Notas}\n");
        }
    }
}
5 -
class Restaurante
{
    public string NomeRestaurante { get; set; }
    public List<Mesa> Mesas { get; set; }  = new List<Mesa>();
    public Cardapio Cardapio { get; set; } = new Cardapio();
}
class Mesa
{
    public int MesaNumero { get; set; }
    public List<Pedido> Pedidos = new List<Pedido>();
    public bool Disponivel { get; }
}
class Pedido
{
    public int Quantidade { get; set; }
    public ItensCardapio Item { get; set; }
}
class Cardapio
{
    public List<ItensCardapio> Produtos { get; set; } = new List<ItensCardapio>();
    
}
class ItensCardapio
{
    public string Nome { get; set; }
    public double Preco { get; set; }
}