Menambahkan Barang
Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 50 dari 66.
Tantangan
MudahKamu akan menerima tiga input. Input pertama adalah nama item, input kedua adalah harga item, dan input ketiga adalah jumlah awal stok. Buat HashMap untuk menyimpan data inventaris, dengan nama item sebagai kunci dan nilai berupa tuple yang berisi harga dan jumlah (f64, i32). Tambahkan item ke inventaris dan cetak pesan konfirmasi, lalu detail inventaris saat ini.
Persyaratan:
- Impor
HashMapdaristd::collections - Baca input pertama (nama item) dan hapus spasi di awal dan akhir
- Baca input kedua (harga) dan hapus spasi di awal dan akhir
- Ubah harga menjadi
f64 - Baca input ketiga (jumlah) dan hapus spasi di awal dan akhir
- Ubah jumlah menjadi
i32 - Buat
HashMap<String, (f64, i32)>yang bisa diubah untuk inventaris - Masukkan item ke inventaris dengan harga dan jumlah sebagai tuple
- Cetak:
Added [item_name] to inventory - Cetak:
Price: $[price] - Cetak:
Quantity: [quantity]
Input:
- Baris pertama: Nama item (misalnya,
Laptop) - Baris kedua: Harga berupa angka (misalnya,
999.99) - Baris ketiga: Jumlah berupa angka (misalnya,
15)
Output:
- Baris pertama:
Added [item_name] to inventory - Baris kedua:
Price: $[price] - Baris ketiga:
Quantity: [quantity]
Coba sendiri
use std::collections::HashMap;
use std::io;
fn main() {
// Baca nama barang
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();
// Baca harga
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");
// Baca jumlah
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: Tulis kodemu di bawah ini
// Buat HashMap untuk menyimpan inventaris
// Tambahkan barang ke inventaris
// Cetak pesan konfirmasi
}Semua pelajaran di Logika dan Alur
1Alur Kontrol Lanjutan
Ekspresi 'match'Mencocokkan Beberapa NilaiMencocokkan RentangEkspresi 'if let'Perulangan sebagai EkspresiRangkuman, Parser Perintah Sederhana4Mengelompokkan Data dengan Struct
Apa Itu Struct?Ringkasan StructMengakses Field StructStruct yang Dapat DiubahStruct sebagai Parameter FungsiStruct TupleRangkuman: Buat Struct Buku2Pengantar Vektor
Apa Itu Vektor?Membuat VektorMenambahkan Elemen dengan pushMengakses Elemen VektorMelakukan Iterasi pada VektorIterasi MutableMenghapus ElemenRangkuman: Pelacak Skor Dasar5Pasangan Kunci-Nilai dengan Hash Map
Apa Itu Hash Map?Membuat Hash MapMenyisipkan Pasangan Kunci-NilaiMengakses NilaiMenelusuri Hash MapMemperbarui NilaiMenghapus PasanganRangkuman: Penghitung Kata8Proyek: Inventaris Barang Sederhana
Menyiapkan ProyekMenambahkan BarangMemeriksa StokMenjual BarangMenyatukan Semuanya3Daftar Tugas Baris Perintah
Penyiapan ProyekMenambahkan TugasMelihat Semua TugasMenghapus TugasKode AkhirLatihan sendiri: Compiler Rust online