struct Produto {
    let nome: String
    let quantidade: Int
    let preco: Double
}

final class GerenciadorDeInventario {
    private var produtos: [Produto] = []

    func adicionarProduto(produto: Produto) {
        produtos.append(produto)
    }
 func calcularValorTotal() -> Double {
        produtos.reduce(0.0) { total, produto in
            total + Double(produto.quantidade) * produto.preco
        }
    }

    func listarProdutosAbaixoDe(quantidade: Int) -> [Produto] {
        produtos.filter { $0.quantidade < quantidade }
    }

    func exibirInformacoesProduto(produto: Produto) {
        print("Nome: \(produto.nome)")
        print("Quantidade em estoque: \(produto.quantidade)")
        print("Preço unitário: R$ \(produto.preco)")
    }
}

// Cria o gerenciador e cadastra produtos com quantidades e preços diferentes.
let gerenciador = GerenciadorDeInventario()
let produtos = [
    Produto(nome: "Notebook", quantidade: 8, preco: 3500.00),
    Produto(nome: "Mouse gamer", quantidade: 20, preco: 250.00),
    Produto(nome: "Headset Bluetooth", quantidade: 4, preco: 399.90),
    Produto(nome: "Monitor de 27 polegadas", quantidade: 6, preco: 1299.90)
]

for produto in produtos {
    gerenciador.adicionarProduto(produto: produto)
}

print("=== GERENCIADOR DE INVENTÁRIO ===")
print("Valor total do inventário: R$ \(gerenciador.calcularValorTotal())")

let limiteDeEstoque = 8
print("\n=== PRODUTOS COM MENOS DE \(limiteDeEstoque) UNIDADES ===")
let produtosAbaixoDoLimite =
    gerenciador.listarProdutosAbaixoDe(quantidade: limiteDeEstoque)

if produtosAbaixoDoLimite.isEmpty {
    print("Nenhum produto está abaixo desse limite.")
} else {
    for produto in produtosAbaixoDoLimite {
        print("- \(produto.nome): \(produto.quantidade) unidades")
    }
}

print("\n=== INFORMAÇÕES DE TODOS OS PRODUTOS ===")
for produto in produtos {
    gerenciador.exibirInformacoesProduto(produto: produto)
    print("------------------------------")
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: