Menu
Coddy logo textTech

Добавление товара

Часть раздела Logic & Flow путешествия по Rust на Coddy — урок 50 из 66.

challenge icon

Задание

Легко

Вы получите три входных значения. Первое значение — это название товара, второе — цена товара, а третье — начальное количество на складе. Создайте HashMap для хранения данных об инвентаре, где ключом является название товара, а значением — кортеж, содержащий цену и количество (f64, i32). Добавьте товар в инвентарь и выведите подтверждающее сообщение, за которым следуют сведения о текущем инвентаре.

Требования:

  • Импортируйте HashMap из std::collections
  • Прочитайте первое входное значение (название товара) и удалите лишние пробелы
  • Прочитайте второе входное значение (цена) и удалите лишние пробелы
  • Преобразуйте цену в тип f64
  • Прочитайте третье входное значение (количество) и удалите лишние пробелы
  • Преобразуйте количество в тип i32
  • Создайте изменяемый HashMap<String, (f64, i32)> для инвентаря
  • Вставьте товар в инвентарь, используя цену и количество в виде кортежа
  • Выведите: Added [item_name] to inventory
  • Выведите: Price: $[price]
  • Выведите: Quantity: [quantity]

Ввод:

  • Первая строка: Название товара (например, Laptop)
  • Вторая строка: Цена в виде числа (например, 999.99)
  • Третья строка: Количество в виде числа (например, 15)

Вывод:

  • Первая строка: Added [item_name] to inventory
  • Вторая строка: Price: $[price]
  • Третья строка: Quantity: [quantity]

Попробуйте сами

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

fn main() {
    // Прочитать название товара
    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();
    
    // Прочитать цену
    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");
    
    // Прочитать количество
    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: Напишите свой код ниже
    // Создать HashMap для хранения инвентаря
    // Добавить товар в инвентарь
    // Вывести подтверждающие сообщения
    
}

Все уроки раздела Logic & Flow