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

Faça como eu fiz: controle de estoque

Aproveitando, também criei um método adicional para realizar a adição de produtos ao estoque. Além disso, incluí alguns Console.Clear() e Console.ReadKey() para limpar a tela conforme a execução do programa, deixando cada etapa mais bem definida e organizada para o usuário.

Program.cs

Console.Clear();
var produto = new Produto ("Casaco", 15);
produto.Retirar(5);
Console.ReadKey(); Console.Clear();
produto.ExibirEstoque();
Console.ReadKey(); Console.Clear();

produto.Retirar(50);
Console.ReadKey(); Console.Clear();
produto.Adicionar(50);
Console.ReadKey(); Console.Clear();
produto.ExibirEstoque();
Console.ReadKey(); Console.Clear();
produto.Retirar(50);
Console.ReadKey(); Console.Clear();
produto.ExibirEstoque();
Console.ReadKey(); Console.Clear();

Produto.cs

class Produto {
    private int quantidadeEstoque;
    public string? Nome {get; set;}

    public Produto(string? nome, int quantiaInicial) {
        Nome = nome;
        quantidadeEstoque = quantiaInicial;
    }
    public void Adicionar(int quantidade) {
        quantidadeEstoque += quantidade;
        Console.WriteLine($"Foram adicionados {quantidade} {Nome}s");
    }
    public void Retirar(int quantidade) {
        if (quantidadeEstoque > quantidade) {
            quantidadeEstoque -= quantidade;
            Console.WriteLine($"Foram retirados {quantidade} {Nome}s");
        }
        else {
            Console.WriteLine("Falha na operação, não é possível retirar mais produtos do que o estoque possui.");
        }
    }
    public void ExibirEstoque() {
        Console.WriteLine($"Nome: {Nome}");
        Console.WriteLine($"Quantidade: {quantidadeEstoque}");
    }
}
1 resposta
solução!

Oi, Diego! Como vai?

Agradeço por compartilhar .

Gostei da forma como você organizou a execução do programa usando Console.Clear() e Console.ReadKey(). Isso ajuda bastante a deixar cada etapa do fluxo mais clara para quem tá utilizando o sistema no terminal. Também chamou atenção o método Adicionar, que complementa bem a lógica de controle de estoque junto com o método Retirar, deixando sua classe Produto mais completa para simular operações reais de estoque.

Uma dica interessante para o futuro é usar Math.Max() para evitar que o estoque fique negativo em algumas situações.


int estoque = 10;
int retirada = 15;

estoque = Math.Max(0, estoque - retirada);

Console.WriteLine(estoque);
Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!