Menu
CoddyTech

Menambahkan Barang

Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 50 dari 66.

challenge icon

Tantangan

Mudah

Kamu 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 HashMap dari std::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

Latihan sendiri: Compiler Rust online