Melihat Semua Tugas
Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 17 dari 66.
Tantangan
MudahKamu akan menerima dua input: pertama, list tugas yang sudah ada dan dipisahkan dengan koma, lalu nomor tugas yang ingin dilihat (pengindeksan berbasis 1). Baca kedua input, buat vector dari tugas-tugas tersebut, lalu tampilkan semua tugas beserta nomornya dan tandai tugas yang diminta.
Persyaratan:
- Baca input pertama yang berisi deskripsi tugas yang dipisahkan dengan koma (misalnya,
Buy groceries,Call dentist,Finish homework) - Pisahkan string berdasarkan koma untuk mendapatkan setiap tugas
- Buat vector dan tambahkan setiap tugas ke dalamnya
- Baca input kedua dan ubah menjadi bilangan bulat (nomor tugas yang akan ditandai, menggunakan pengindeksan berbasis 1)
- Cetak jumlah total tugas dengan format:
Total tasks: X - Lakukan iterasi melalui vector dan cetak setiap tugas beserta nomornya (berbasis 1)
- Untuk nomor tugas yang diminta, cetak dengan format:
[X] [task description] (selected) - Untuk semua tugas lainnya, cetak dengan format:
[X] [task description]
Input:
- Baris pertama: Deskripsi tugas yang dipisahkan dengan koma (misalnya,
Buy groceries,Call dentist,Finish homework) - Baris kedua: Bilangan bulat yang menunjukkan nomor tugas yang akan ditandai (pengindeksan berbasis 1)
Output:
- Baris pertama:
Total tasks: Xdengan X sebagai jumlah total tugas - Baris berikutnya: Setiap tugas beserta nomornya dalam format
[X] [task description] - Tugas yang dipilih harus ditambahkan
(selected)di bagian akhirnya
Coba sendiri
use std::io::{self, BufRead};
fn main() {
let stdin = io::stdin();
let mut lines = stdin.lock().lines();
// Baca tugas-tugas yang dipisahkan koma
let tasks_input = lines.next().unwrap().unwrap();
// Baca nomor tugas yang akan ditandai
let task_number: usize = lines.next().unwrap().unwrap().trim().parse().unwrap();
// TODO: Tulis kodemu di bawah ini
// Pisahkan tasks_input berdasarkan koma dan buat sebuah vektor
// Cetak jumlah seluruh tugas
// Telusuri tugas-tugas dan cetak masing-masing beserta nomornya
// Tandai tugas yang dipilih dengan menambahkan " (selected)"
}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