Stok Kontrolü
Coddy'nin C++ Journey'sinin Mantık & Akış bölümünün bir parçası — ders 32 / 56.
Görev
KolayBelirli öğelerin mevcut stok seviyesini kontrol etme işlevini uygulayarak envanter takip sisteminizi oluşturmaya devam edin. Bu ders, bir map yapısında öğe bilgilerinin nasıl güvenli bir şekilde sorgulanacağını ve öğelerin envanterde bulunmadığı durumların nasıl ele alınacağını göstermektedir.
Aşağıdaki girdiler sağlanacaktır:
- Gerçekleştirilecek stok sorgusu sayısını temsil eden bir tam sayı
n - Ardından, kontrol edilecek öğe adlarını temsil eden
nadet dize (string)
Programınız şunları yapmalıdır:
- Aşağıdaki başlangıç envanteri ile başlayın:
inventory["apples"] = 50;
inventory["bananas"] = 30;
inventory["oranges"] = 25;
inventory["grapes"] = 40; - Stok sorgusu sayısını okuyun
- Her sorgu için bir öğe adı okuyun
- Öğenin envanter map'inde var olup olmadığını kontrol etmek için
.count()metodunu kullanın - Öğe mevcutsa, mevcut stok miktarını yazdırın
- Öğe mevcut değilse, bulunamadığını belirten bir mesaj yazdırın
- Tüm sorgulardan sonra, şu anda envanterde bulunan toplam farklı öğe sayısının bir özetini yazdırın
Aşağıdaki tam çıktı formatını kullanın:
Her stok sorgusu için:
[item_name]: [quantity] in stockBulunamayan öğeler için:
[item_name]: Item not foundSonundaki özet:
Total items in inventory: [number_of_items]Değerine erişmeden önce her öğenin var olup olmadığını güvenli bir şekilde kontrol etmek için .count() metodunu kullanın. Eğer inventory.count(itemName) 1 değerini döndürürse, öğe mevcuttur ve miktarını almak için inventory[itemName] ifadesine güvenle erişebilirsiniz. Eğer 0 döndürürse, öğe mevcut değildir. Final özeti için envanterdeki toplam farklı öğe sayısını almak üzere map üzerindeki .size() metodunu kullanın.
Kendin dene
#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;
}Mantık & Akış bölümündeki tüm dersler
1İşaretçiler ve Bellek
İşaretçi Nedir?Adres OperatörüDereference OperatörüNull İşaretçilerİşaretçiler ve Diziler'new' ile Dinamik Bellek'delete' ile Belleği Serbest BırakmaÖzet - İşaretçi Pratiği2Vektörler (Dinamik Diziler)
std::vector'a GirişBir Vektör OluşturmaEleman EklemeElemanlara ErişmeVektör BoyutuFor Döngüsü ile YinelemeAralık Tabanlı For DöngüsüEleman SilmeÖzet - Vektör İşlemleri5Proje: Envanter Aracı
Proje KurulumuÖğe Ekleme ve Güncelleme3Proje: Görev Listesi Aracı
Projeye Genel BakışGörev Ekleme