2
respostas

Resolução dos desafios

Resolução Desafio 1 e 2

Classe Conta

class Conta 
{
    private double saldo;
    private double limite;
    public int Agencia { get; set; }
    public int NumeroDaConta { get; set; }
    public double Saldo 
    {
        get => saldo;
        set {  if(value > 0 && value <= limite) saldo = value; }
    }
    public double Limite
    {
        get => limite;
        set { if (value > 0) limite = value; }
    }
    public Titular Titular { get; set; }
    public string InformacoesDaConta =>
        $"Agencia: {Agencia}\nNúmero da conta: {NumeroDaConta}\nSaldo: {Saldo}\nLimite: {Limite}";

    public void ExibirInformacoesDaConta() =>
        Console.WriteLine($"{InformacoesDaConta}\n{Titular.InformacoesTitular}");

}

Classe Titular

class Titular 
{
    public string Nome { get; set; }
    public int Idade { get; set; }
    public int AnoDeNascimento { get; set; }
    public long Cpf { get; set; }
    public string InformacoesTitular =>
        $"Nome: {Nome}\nIdade: {Idade}\nAno de Nascimento: {AnoDeNascimento}\nCPF: {Cpf}";
}

Executar:

Titular titular1 =  new Titular() 
{ 
    Nome = "Jorge",
    Idade = 42,
    AnoDeNascimento = 1982,
    Cpf = 42932012394
};

Conta conta = new Conta() 
{ 
    Agencia = 001,
    NumeroDaConta = 1,
    Limite = 10000,
    Saldo = 400,
    Titular = titular1
};

conta.ExibirInformacoesDaConta();

Resolução Desafio 3:

Classe Produto

class Produto 
{
    private double preco;
    private int estoque;
    public string Nome { get; set; }
    public double Preco 
    { 
        get => preco;
        set { if (value > 0) preco = value; else Console.WriteLine("O preço precisa ser positivo");}
    }
    public int Estoque 
    { 
        get => estoque; 
        set { if (value > 0) estoque = value; else Console.WriteLine("O estoque precisa ser positivo"); } 
    }

    public string DescricaoCompleta =>
        $"Nome: {this.Nome}\nPreco: {this.Preco}\nEstoque: {this.Estoque}\n";

    public Produto CriarProduto(string nome, double preco, int estoque) 
    {
        return new Produto()
        {
            Nome = nome,
            Preco = preco,
            Estoque = estoque
        };
    }
}

Classe Estoque

class Estoque 
{ 
    public string Nome { get; set; }
    public List<Produto> ProdutosList { get; set; }

    public void AdicionarProdutoEstoque(Produto produto) 
    {
        this.ProdutosList.Add(produto);
    }

    public Estoque CriarEstoque(string nome) 
    {
        return new Estoque
        {
            Nome = nome,
            ProdutosList = new List<Produto>()
        };
    }
    public void ExibirInformacoesDoEstoque() 
    {
        Console.WriteLine($"{this.Nome}\n");
        foreach (var item in this.ProdutosList)
            Console.WriteLine(item.DescricaoCompleta);
    }
}

Executar:

Estoque estoque = new Estoque().CriarEstoque("Estoque de produtos unitários");

Produto produto = new Produto().CriarProduto("Sand de queijo", 12.90, 30);
Produto produto2 = new Produto().CriarProduto("Sand de presunto", 10.90, 21);

estoque.AdicionarProdutoEstoque(produto);
estoque.AdicionarProdutoEstoque(produto2);

estoque.ExibirInformacoesDoEstoque();
2 respostas

Resolução desafio 4:

Classe Aluno

class Aluno 
{
    public string Nome { get; set; }
    public int Idade { get; set; }
    public List<double> Notas { get; set; } = new List<double>();
    private string InformacoesDoAluno =>
        $"Nome: {Nome}\nIdade: {Idade}\nNotas: {string.Join($", ", Notas)}\nMédia: {Notas.Average()}\n";

    public void Exibir() 
    {
        Console.WriteLine(InformacoesDoAluno);
    }
}

Classe Disciplina

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

Classe Professor

class Professor 
{
    public string Nome { get; set; }
    public List<Disciplina> Disciplina { get; set; } = new List<Disciplina>();
    public string InformacoesProfessor =>
    $"Professor: {Nome}";
    public void Exibir()
    {
        Console.WriteLine(InformacoesProfessor);
        foreach (var disc in Disciplina) 
        { 
            Console.WriteLine($"Disciplina: {disc.Nome}\n");
            Console.WriteLine($"Alunos Matriculados\n");
            foreach (var aluno in disc.Alunos)
                aluno.Exibir();
        }
    }
}

Executar:

Aluno aluno = new Aluno() 
{
    Nome = "Jorge",
    Idade = 21,
    Notas = new List<double>() { 7.32, 10, 6, 8.20 }
};

Aluno aluno2 = new Aluno()
{
    Nome = "Hayashii",
    Idade = 20,
    Notas = new List<double>() { 10, 10, 7, 8.20 }
};

Disciplina disciplina = new Disciplina()
{
    Nome = "Matemática",
    Alunos = new List<Aluno>() { aluno, aluno2 }
};

Disciplina disciplina2 = new Disciplina()
{
    Nome = "Português",
    Alunos = new List<Aluno>() { aluno, aluno2 }
};

Professor professor = new Professor()
{
    Nome = "Doisberto",
    Disciplina = new List<Disciplina> { disciplina, disciplina2 }
};


professor.Exibir();

Resolução desafio 5:

Classe Restaurante

class Restaurante
{
    public string Nome { get; set; }
    public List<Mesa> Mesas { get; set; }

    public void Exibir()
    {
        Console.WriteLine($"Restaurante: {Nome}");
        foreach (var mesa in Mesas)
        {
            if (!mesa.Reserva)
            {
                Console.WriteLine($"\nNúmero do pedido: {mesa.Pedido.NumeroPedido}");
                Console.WriteLine($"Mesa: {mesa.NumeroMesa}");
                foreach (var item in mesa.Pedido.Cardapio)
                {
                    Console.WriteLine($"Produtos: {item.Nome} - {item.Preco}");
                }
            }
            else
                Console.WriteLine($"\nA mesa {mesa.NumeroMesa} já está reservada\nO pedido não será concluído");
        }
    }
    
    
}

Classe Mesa

class Mesa 
{
    public int NumeroMesa { get; set; }
    public Pedido Pedido { get; set; }
    public bool Reserva { get; set; } = false;
}

Classe Pedido

class Pedido 
{
    public int NumeroPedido{ get; set; }
    public List<Cardapio> Cardapio { get; set; }
}

Classe Cardapio

class Cardapio 
{
    public string Nome { get; set; }
    public double Preco { get; set; }
}

Executar:

Restaurante restaurante = new Restaurante()
{
    Nome = "Restaurante Teste",
    Mesas = new List<Mesa>()
};

Cardapio item1 = new Cardapio()
{
    Nome = "Sanduiche de queijo",
    Preco = 23.12
};

Cardapio item2 = new Cardapio()
{
    Nome = "Coquinha Gelada",
    Preco = 6.23
};

Pedido pedido1 = new Pedido()
{
    NumeroPedido = 1,
    Cardapio = new List<Cardapio> { item1, item2 }
};

Mesa mesa1 = new Mesa()
{
    NumeroMesa = 1,
    Pedido = pedido1
};

Mesa mesa2 = new Mesa()
{
    NumeroMesa = 2,
    Pedido = pedido1,
    Reserva = true
};

restaurante.Mesas = new List<Mesa>() { mesa1, mesa2 };

restaurante.Exibir();

Oi, Phelipe! Tudo bem?

Excelente código, parabéns pelo projeto! Espero que esteja gostando do curso! Colocar em execução as atividades propostas pelo professor em aula é uma prática muito importante para internalizarmos o conteúdo. Caso tenha ficado alguma dúvida em relação ao curso ou atividade, sinta-se à vontade em comunicar, estou à disposição e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!