1
resposta

Resposta - Controle de estoque

Classe:

public class Product
{
    public string Name { get; set; }
    private int QuantityStock { get; set; }

    public Product(string name, int quantityStock)
    {
        Name = name;
        QuantityStock = quantityStock;
    }

    public void remove_from_stock(int quantityRemove)
    {
        if (quantityRemove < QuantityStock)
        {
            Console.WriteLine($"Withdrawal of {quantityRemove} units successfully completed.");
            QuantityStock -= quantityRemove;
            return;
        }
        Console.WriteLine($"Error: Insufficient stock for withdrawal of {quantityRemove} units.");
    }

    public void display_stock()
    {
        Console.WriteLine($"Product: {Name} - Stock: {QuantityStock}");
    }
}

Instância:

Product product = new Product("Blue Pen", 20);
product.remove_from_stock(5);
product.display_stock();
product.remove_from_stock(30);
1 resposta

Olá, Carlos, como vai?

Seu código cumpre bem a proposta e a estrutura geral está coerente. Apenas notei um detalhe na condição do método remove_from_stock: ao usar quantityRemove < QuantityStock, o código impede a retirada quando a quantidade solicitada é exatamente igual ao estoque. Usar <= permite uma operação mais alinhada ao que normalmente se espera de um controle de estoque. Outro ponto que pode ajudar na legibilidade é manter nomes de métodos seguindo o padrão PascalCase adotado em C#.

Continue compartilhando seus trabalhos, o fórum está à disposição.

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