Stoktan Çıkarma
Coddy'nin C++ Journey'sinin Mantık & Akış bölümünün bir parçası — ders 33 / 56.
Görev
KolayMevcut öğelerden stok çıkarma işlevini uygulayarak envanter takip sisteminizi tamamlayın. Bu ders, stok seviyelerinin sıfırın altına düşmesini önleyerek ve envanterde bulunmayan öğeleri yöneterek envanter miktarlarının nasıl güvenli bir şekilde azaltılacağını göstermektedir.
Aşağıdaki başlangıç envanteri ile başlayın:
apples: 50bananas: 30oranges: 25
Aşağıdaki girdiler sağlanacaktır:
- Gerçekleştirilecek stok çıkarma işlemi sayısını temsil eden bir tam sayı
n - Ardından
nçift girdi:- Öğe adını temsil eden bir dize (string)
- Çıkarılacak miktarı temsil eden bir tam sayı
Programınız şunları yapmalıdır:
- Yukarıda listelenen başlangıç envanteri ile başlayın
- Stok çıkarma işlemi sayısını okuyun
- Her işlem için bir öğe adı ve çıkarılacak miktarı okuyun
- Öğenin envanter haritasında (map) var olup olmadığını kontrol etmek için
.count()metodunu kullanın - Öğe mevcut değilse, bir hata mesajı yazdırın
- Öğe mevcutsa, miktarı çıkarmanın stoğu negatife düşürüp düşürmeyeceğini kontrol edin
- Çıkarma işlemi negatif stokla sonuçlanacaksa, bir hata mesajı yazdırın
- Çıkarma işlemi geçerliyse, miktarı mevcut stoktan çıkarın ve bir onay mesajı yazdırın
- Tüm işlemlerden sonra, tüm öğeleri ve güncellenmiş miktarlarını gösteren nihai envanteri yazdırın
Aşağıdaki tam çıktı formatını kullanın:
Başarılı stok çıkarma için:
Removed [quantity] [item_name]. New total: [new_total]Bulunamayan öğeler için:
Error: [item_name] not found in inventoryYetersiz stok için:
Error: Cannot remove [quantity] [item_name]. Only [current_stock] in stockNihai envanter:
Final Inventory:\n[item1]: [quantity1]\n[item2]: [quantity2]\n[item3]: [quantity3]\n...Nihai envanter, öğe adına göre alfabetik sırayla yazdırılmalıdır. Stok çıkarmaya çalışmadan önce bir öğenin var olup olmadığını kontrol etmek için inventory.count(itemName) kullanın. Yalnızca öğe mevcutsa ve mevcut stok çıkarılacak miktardan büyük veya ona eşitse envanterden çıkarma yapın. Mevcut stoktan miktarı çıkarmak için inventory[itemName] -= quantity kullanın.
Kendin dene
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main() {
// Initialize inventory with existing items
map<string, int> inventory;
inventory["apples"] = 50;
inventory["bananas"] = 30;
inventory["oranges"] = 25;
inventory["grapes"] = 40;
int n;
cin >> n;
for (int i = 0; i < n; i++) {
string itemName;
cin >> itemName;
if (inventory.count(itemName)) {
cout << itemName << ": " << inventory[itemName] << " in stock" << endl;
} else {
cout << itemName << ": Item not found" << endl;
}
}
cout << "Total items in inventory: " << inventory.size() << 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