Bom dia! Segue resolução da lista de exercícios, realizei de uma forma diferente da resolução proposta, mas o código está funcionando também.
void main(){
List <ItemEstoque> estoque = [];
estoque.add(ItemEstoque("Smartphone", 100, 1500));
estoque.add(ItemEstoque("Notebook", 50, 1500));
estoque.add(ItemEstoque("Livro", 60, 100));
for (ItemEstoque item in estoque) {
print("Produto: ${item.nome}, Quantidade em estoque: ${item.quantidade}, Preço: ${item.preco}");
}
for (var i = 0; i < estoque.length; i++) {
final item = estoque[i];
if(item.nome == "Smartphone"){
item.registrarEntrada(20);
}
if(item.nome =="Notebook"){
item.registrarSaida(10);
}
if(item.nome == "Livro"){
item.novoPreco(50);
}
}
for (ItemEstoque item in estoque) {
print("Produto: ${item.nome}, Quantidade em estoque: ${item.quantidade}, Preço: ${item.preco}");
}
}
class ItemEstoque {
String nome;
int quantidade;
double preco;
ItemEstoque(this.nome, this.quantidade, this.preco);
void registrarEntrada(int valor){
quantidade += valor;
}
void registrarSaida(int valor){
if(valor <= quantidade){
quantidade -= valor;
} else {
print("Estoque insuficiente.");
}
}
void novoPreco(double valor){
preco = valor;
}
}