Menu
Coddy logo textTech

Agregar un artículo

Parte de la sección Logic & Flow del Journey de Rust de Coddy. Lección 50 de 66.

challenge icon

Desafío

Fácil

Recibirás tres entradas. La primera entrada es el nombre de un artículo, la segunda entrada es el precio del artículo y la tercera entrada es la cantidad inicial en stock. Crea un HashMap para almacenar los datos del inventario donde la clave sea el nombre del artículo y el valor sea una tupla que contenga el precio y la cantidad (f64, i32). Agrega el artículo al inventario e imprime un mensaje de confirmación seguido de los detalles actuales del inventario.

Requisitos:

  • Importa HashMap de std::collections
  • Lee la primera entrada (nombre del artículo) y elimina los espacios en blanco
  • Lee la segunda entrada (precio) y elimina los espacios en blanco
  • Convierte el precio a f64
  • Lee la tercera entrada (cantidad) y elimina los espacios en blanco
  • Convierte la cantidad a i32
  • Crea un HashMap<String, (f64, i32)> mutable para el inventario
  • Inserta el artículo en el inventario con el precio y la cantidad como una tupla
  • Imprime: Added [item_name] to inventory
  • Imprime: Price: $[price]
  • Imprime: Quantity: [quantity]

Entrada:

  • Primera línea: Nombre del artículo (por ejemplo, Laptop)
  • Segunda línea: Precio como un número (por ejemplo, 999.99)
  • Tercera línea: Cantidad como un número (por ejemplo, 15)

Salida:

  • Primera línea: Added [item_name] to inventory
  • Segunda línea: Price: $[price]
  • Tercera línea: Quantity: [quantity]

Pruébalo tú mismo

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

fn main() {
    // Leer el nombre del artículo
    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();
    
    // Leer el precio
    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");
    
    // Leer la cantidad
    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: Escribe tu código a continuación
    // Crear un HashMap para almacenar el inventario
    // Añadir el artículo al inventario
    // Imprimir los mensajes de confirmación
    
}

Todas las lecciones de Logic & Flow

Practica por tu cuenta: Compilador de Rust online