添加物品
本课属于 Coddy Rust 学习旅程的“逻辑与流程”单元。第 50 课,共 66 课。
挑战
简单你将收到 3 个输入。第一个输入是商品名称,第二个输入是商品价格,第三个输入是初始库存数量。创建一个 HashMap 来存储库存数据,其中键是商品名称,值是一个包含价格和数量的元组 (f64, i32)。将商品添加到库存中,并打印一条确认消息,随后打印当前库存详情。
要求:
- 从
std::collections导入HashMap - 读取第一个输入(商品名称)并去除空白字符
- 读取第二个输入(价格)并去除空白字符
- 将价格解析为
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 来存储库存
// 将商品添加到库存中
// 打印确认消息
}逻辑与流程中的所有课
自己练习: Rust 在线编译器