Menu
Coddy logo textTech

Adicionando um Item

Parte da seção Logic & Flow do Journey de Rust da Coddy — lição 50 de 66.

challenge icon

Desafio

Fácil

Você receberá três entradas. A primeira entrada é o nome de um item, a segunda entrada é o preço do item e a terceira entrada é a quantidade inicial em estoque. Crie um HashMap para armazenar os dados do inventário onde a chave é o nome do item e o valor é uma tupla contendo o preço e a quantidade (f64, i32). Adicione o item ao inventário e imprima uma mensagem de confirmação seguida pelos detalhes atuais do inventário.

Requisitos:

  • Importe HashMap de std::collections
  • Leia a primeira entrada (nome do item) e remova os espaços em branco (trim)
  • Leia a segunda entrada (preço) e remova os espaços em branco (trim)
  • Converta (parse) o preço para f64
  • Leia a terceira entrada (quantidade) e remova os espaços em branco (trim)
  • Converta (parse) a quantidade para i32
  • Crie um HashMap<String, (f64, i32)> mutável para o inventário
  • Insira o item no inventário com o preço e a quantidade como uma tupla
  • Imprima: Added [item_name] to inventory
  • Imprima: Price: $[price]
  • Imprima: Quantity: [quantity]

Entrada:

  • Primeira linha: Nome do item (ex: Laptop)
  • Segunda linha: Preço como um número (ex: 999.99)
  • Terceira linha: Quantidade como um número (ex: 15)

Saída:

  • Primeira linha: Added [item_name] to inventory
  • Segunda linha: Price: $[price]
  • Terceira linha: Quantity: [quantity]

Experimente você mesmo

use std::collections::HashMap;
use std::io;

fn main() {
    // Ler o nome do item
    let mut item_name = String::new();
    io::stdin().read_line(&mut item_name).expect("Failed to read line");
    let item_name = item_name.trim().to_string();
    
    // Ler o preço
    let mut price_input = String::new();
    io::stdin().read_line(&mut price_input).expect("Failed to read line");
    let price: f64 = price_input.trim().parse().expect("Failed to parse price");
    
    // Ler a quantidade
    let mut quantity_input = String::new();
    io::stdin().read_line(&mut quantity_input).expect("Failed to read line");
    let quantity: i32 = quantity_input.trim().parse().expect("Failed to parse quantity");
    
    // TODO: Escreva seu código abaixo
    // Criar um HashMap para armazenar o inventário
    // Adicionar o item ao inventário
    // Imprimir as mensagens de confirmação
    
}

Todas as lições de Logic & Flow