Menyiapkan Proyek
Termasuk bagian Logika dan Alur dalam perjalanan Dart di Coddy. Pelajaran 33 dari 65.
Tantangan
MudahKamu akan membuat kalkulator keranjang belanja sederhana yang menunjukkan cara berbagai struktur data bekerja sama dalam aplikasi nyata.
Buat program yang menyiapkan dasar untuk sistem kalkulator keranjang belanja dengan menginisialisasi struktur data penting yang dibutuhkan aplikasi e-commerce. Programmu harus:
- Membaca input string yang mewakili nama toko
- Membaca beberapa pasang input yang mewakili nama produk dan harganya (input akan berakhir saat kamu menerima
"products_done") - Membuat Map untuk menyimpan produk yang tersedia, dengan nama produk sebagai kunci dan harga sebagai nilai
- Membuat List kosong untuk mewakili keranjang belanja
- Menampilkan informasi penyiapan awal dan memastikan struktur data telah diinisialisasi dengan benar
- Mencetak laporan penyiapan toko dengan format persis seperti yang ditunjukkan di bawah
Misalnya, jika nama toko adalah "Fresh Market" dan produk yang ada mencakup "Apple" dengan harga 1.50, "Banana" dengan harga 0.80, "Orange" dengan harga 2.00, serta "Milk" dengan harga 3.25, programmu harus menghasilkan output berikut:
Store: Fresh Market
Product Catalog Setup:
Available Products: {Apple: 1.5, Banana: 0.8, Orange: 2.0, Milk: 3.25}
Shopping Cart Initialized: []
System Status:
Total products available: 4
Cart status: Empty
Most expensive item: Milk ($3.25)
Cheapest item: Banana ($0.80)
Average product price: $1.84
Setup Status: Shopping cart system ready for customersJika nama toko adalah "Tech Store" dan produk yang ada mencakup "Laptop" dengan harga 999.99, "Mouse" dengan harga 25.50, serta "Keyboard" dengan harga 75.00, programmu harus menghasilkan output berikut:
Store: Tech Store
Product Catalog Setup:
Available Products: {Laptop: 999.99, Mouse: 25.5, Keyboard: 75.0}
Shopping Cart Initialized: []
System Status:
Total products available: 3
Cart status: Empty
Most expensive item: Laptop ($999.99)
Cheapest item: Mouse ($25.50)
Average product price: $366.83
Setup Status: Shopping cart system ready for customersJika nama toko adalah "Book Corner" dan produk yang ada mencakup "Novel" dengan harga 12.99, "Magazine" dengan harga 4.50, "Textbook" dengan harga 89.00, "Comic" dengan harga 3.99, serta "Journal" dengan harga 15.75, programmu harus menghasilkan output berikut:
Store: Book Corner
Product Catalog Setup:
Available Products: {Novel: 12.99, Magazine: 4.5, Textbook: 89.0, Comic: 3.99, Journal: 15.75}
Shopping Cart Initialized: []
System Status:
Total products available: 5
Cart status: Empty
Most expensive item: Textbook ($89.00)
Cheapest item: Comic ($3.99)
Average product price: $25.25
Setup Status: Shopping cart system ready for customersProgrammu harus membuat Map dengan kunci String (nama produk) dan nilai double (harga), serta List String kosong untuk keranjang belanja. Temukan produk termahal dan termurah dengan membandingkan semua harga di dalam map produk. Hitung harga rata-rata dengan membagi jumlah semua harga dengan jumlah produk. Bulatkan harga rata-rata menjadi 2 angka desimal untuk ditampilkan. Format inputnya adalah: nama toko, lalu nama produk dan harga secara bergantian (sebagai string yang perlu dikonversi menjadi double), diakhiri dengan "products_done".
Coba sendiri
import 'dart:io';
void main() {
// Baca nama toko
String? storeName = stdin.readLineSync();
// Inisialisasi struktur data
Map<String, double> products = {};
List<String> shoppingCart = [];
// Baca produk sampai "products_done"
while (true) {
String? input = stdin.readLineSync();
if (input == "products_done") {
break;
}
String productName = input!;
String? priceInput = stdin.readLineSync();
double price = double.parse(priceInput!);
// Tambahkan produk ke map
products[productName] = price;
}
// TODO: Tulis kodemu di bawah ini untuk menghitung statistik dan membuat laporan
// Tampilkan laporan pengaturan toko
// output programmu harus sesuai dengan format persis yang ditunjukkan dalam contoh
}Semua pelajaran di Logika dan Alur
1Manipulasi list Tingkat Lanjut
Properti list: first dan lastStatus list: isEmpty dan isNotEmpMembalikkan listMenambahkan ke list: insertMenghapus dari list: removeWhereMencari dalam list: indexOfMengurutkan listMengacak listRekap: Pengatur list4Manipulasi Map Lanjutan
Melakukan perulangan pada MapMemeriksa kunci dan nilaiProperti Map: kunci dan nilaiPenambahan Bersyarat: putIfAbsentMenghapus Entri dari MapMap BersarangRingkasan: Pembaruan Inventaris2Operasi Fungsional pada list
Mengubah dengan 'map'Menyaring dengan 'where'Menggunakan '.toList()'Memeriksa Kondisi dengan 'any'Kondisi dengan 'every'Menemukan dengan 'firstWhere'Ulasan: Penyaringan Data5Proyek: Perhitungan Keranjang Belanja
Menyiapkan ProyekMenambahkan Barang ke Keranjang3set
Apa itu set?Membuat setMenambahkan dan menghapus elemen dari setMemeriksa elemen dalam setMengubah list menjadi setGabungan setIrisan setSelisih setRangkuman: Daftar tamu unikLatihan sendiri: Compiler Dart online