Memeriksa Stok
Termasuk bagian Logika dan Alur dalam perjalanan C++ di Coddy. Pelajaran 32 dari 56.
Tantangan
MudahLanjutkan membangun sistem pelacakan inventarismu dengan menerapkan fungsi untuk memeriksa jumlah stok terkini dari item tertentu. Pelajaran ini menunjukkan cara melakukan query map dengan aman untuk mendapatkan informasi item dan menangani kasus ketika item mungkin tidak ada dalam inventaris.
Input berikut akan diberikan:
- Bilangan bulat
nyang menunjukkan jumlah query stok yang harus dilakukan - Kemudian
nstring yang menunjukkan nama item yang akan diperiksa
Programmu harus:
- Memulai dengan inventaris awal berikut:
inventory["apples"] = 50;
inventory["bananas"] = 30;
inventory["oranges"] = 25;
inventory["grapes"] = 40; - Membaca jumlah query stok
- Untuk setiap query, membaca nama item
- Menggunakan method
.count()untuk memeriksa apakah item tersebut ada di map inventaris - Jika item tersebut ada, mencetak jumlah stoknya saat ini
- Jika item tersebut tidak ada, mencetak pesan yang menunjukkan bahwa item tidak ditemukan
- Setelah semua query, mencetak ringkasan jumlah total item berbeda yang saat ini ada dalam inventaris
Gunakan format output persis berikut:
Untuk setiap query stok:
[item_name]: [quantity] in stockUntuk item yang tidak ditemukan:
[item_name]: Item not foundRingkasan di akhir:
Total items in inventory: [number_of_items]Gunakan method .count() untuk memeriksa dengan aman apakah setiap item ada sebelum mengakses nilainya. Jika inventory.count(itemName) mengembalikan 1, item tersebut ada dan kamu dapat mengakses inventory[itemName] dengan aman untuk mendapatkan jumlahnya. Jika method tersebut mengembalikan 0, item itu tidak ada. Gunakan method .size() pada map untuk mendapatkan jumlah total item berbeda dalam inventaris untuk ringkasan akhir.
Coba sendiri
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main() {
// Initialize the inventory with existing items
map<string, int> inventory;
inventory["apples"] = 50;
inventory["bananas"] = 30;
inventory["oranges"] = 25;
int n;
cin >> n;
for (int i = 0; i < n; i++) {
string itemName;
int quantity;
cin >> itemName >> quantity;
inventory[itemName] += quantity;
cout << "Added " << quantity << " " << itemName << ". New total: " << inventory[itemName] << endl;
}
cout << "Final Inventory:" << endl;
for (const auto& item : inventory) {
cout << item.first << ": " << item.second << endl;
}
return 0;
}Semua pelajaran di Logika dan Alur
1Pointer dan Memori
Apa Itu Pointer?Operator Address-OfOperator DereferencePointer NullPointer dan ArrayMemori Dinamis dengan 'new'Membebaskan Memori dengan 'delete'Rangkuman: Latihan Pointer2Vektor (array Dinamis)
Memperkenalkan std::vectorMembuat VektorMenambahkan ElemenMengakses ElemenUkuran VektorIterasi dengan for loopFor loop Berbasis RentangMenghapus ElemenRangkuman: Operasi Vektor5Proyek: Alat Inventaris
Menyiapkan ProyekMenambahkan dan Memperbarui BarangLatihan sendiri: Compiler C++ online