Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafio - Aula 03 - Conta Bancária e Estoque de Produtos

  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.
class Conta
{
    public Titular titular;
    public int numeroDaAgencia { get; set; }
    public string nomeDaAgencia { get; set; }
    public int numeroDaConta { get; set; }
    public double saldo { get; set; }
    public double limite { get; set; }

    public string ExibirInformacoesDaConta()
    {
         return $"Informações da conta: \nTitular: {titular.nomeDoTitular} \nCPF: {string.Format("{0:000'.'000'.'000'-'00}", titular.cpfDoTitular)}\nConta: {numeroDaConta} \nAgência: {numeroDaAgencia} - Agência {nomeDaAgencia} \nSaldo: {saldo.ToString("C")} \nLimite: {limite.ToString("C")}";
    }
}
class Titular
{
    public string nomeDoTitular;
    public long cpfDoTitular;
}
  1. Instanciar um objeto do tipo Conta e um do tipo Titular e mostrar as informações de Titular, a partir da Conta.
Titular titular1 = new Titular();
titular1.nomeDoTitular = "Fábio Corrêa";
titular1.cpfDoTitular = 12345678900;

Conta conta1 = new Conta();
conta1.titular = titular1;
conta1.numeroDaConta = 9876;
conta1.numeroDaAgencia = 5566;
conta1.nomeDaAgencia = "Um";
conta1.saldo = 2500;
conta1.limite = 10000;

Console.WriteLine(conta1.ExibirInformacoesDaConta());
  1. 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.
public class Produto
{
    public int CodigoProduto { get; set; }
    public string NomeProduto { get; set; }
    public int QtdeEstoque { get; set; }
    public double Preco { get; set; }

}

public class Estoque
{
    public List<Produto> produtos = new List<Produto>();
    public int codigoLoja { get; set; }
    public void AdicionarNovoProduto(Produto produto)
    {
        produtos.Add(produto);
    }
    public void RemoverProduto(int codigoParaRemover)
    {
    for (int i = 0; i < produtos.Count; i++)
    {
        if (produtos[i].CodigoProduto == codigoParaRemover)
        {
            Console.Write($"Tem certeza que deseja EXCLUIR o produto {produtos[i].NomeProduto}? (S/N): ");
            ConsoleKeyInfo confirmaExclusao = Console.ReadKey();
            if (confirmaExclusao.Key == ConsoleKey.S)
            {
                {
                    Console.WriteLine("\n\nAchei o produto para excluir! Aguarde um instante...");
                    Thread.Sleep(2000);
                    produtos.Remove(produtos[i]);
                    Console.WriteLine("Produto excluído com sucesso!");
                    Console.Write("\nPressione qualquer tecla para voltar ao Menu...");
                    Console.ReadKey();
                }
            }
            else
            {
                Console.WriteLine("\n\nExclusão não realizada. Operação cancelada pelo usuário.");
                Console.Write("\nPressione qualquer tecla para voltar ao Menu...");
                Console.ReadKey();
            }
        }
        else
        {
            Console.WriteLine("\n\nProduto não encontrado.");
            Console.Write("\nPressione qualquer tecla para voltar ao Menu...");
            Thread.Sleep(3000);
            Console.ReadKey();
        }
    }
        public void ExibirEstoque()
    {
        Console.WriteLine("Lista de produtos em estoque:\n");
        Console.WriteLine("{0, -6}{1, 12}{2, 15}{3, 12}", "CÓD.", "PRODUTO", "QUANTIDADE", "PREÇO");
        foreach (Produto produto in produtos)
        {
            Console.WriteLine("{0, -6}{1, 12}{2, 15}{3, 12}", produto.CodigoProduto, produto.NomeProduto, produto.QtdeEstoque, produto.Preco);
        }
    }
}
1 resposta
solução!

Oi, Fabio!

Agradeço por compartilhar seu código com a comunidade Alura.

Você fez uma ótima modelagem usando orientação a objetos. A separação de classes Conta, Titular, Produto e Estoque deixou seu código organizado e fácil de entender, além de mostrar atenção ao encapsulamento dos dados.

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