Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

التحقق من المخزون

جزء من قسم Logic & Flow في رحلة C++ على Coddy — الدرس 32 من 56.

challenge icon

التحدي

سهل

استمر في بناء نظام تتبع المخزون الخاص بك من خلال تنفيذ وظيفة التحقق من مستوى المخزون الحالي لعناصر محددة. يوضح هذا الدرس كيفية الاستعلام بأمان عن الخريطة (map) للحصول على معلومات العناصر ومعالجة الحالات التي قد لا توجد فيها العناصر في المخزون.

سيتم توفير المدخلات التالية:

  • عدد صحيح n يمثل عدد استعلامات المخزون التي سيتم إجراؤها
  • ثم n من السلاسل النصية (strings) التي تمثل أسماء العناصر المراد التحقق منها

يجب على برنامجك:

  1. البدء بالمخزون الأولي التالي:
    inventory["apples"] = 50;
    inventory["bananas"] = 30;
    inventory["oranges"] = 25;
    inventory["grapes"] = 40;
  2. قراءة عدد استعلامات المخزون
  3. لكل استعلام، قراءة اسم العنصر
  4. استخدام طريقة .count() للتحقق مما إذا كان العنصر موجوداً في خريطة المخزون (inventory map)
  5. إذا كان العنصر موجوداً، اطبع كمية المخزون الحالية الخاصة به
  6. إذا لم يكن العنصر موجوداً، اطبع رسالة تشير إلى أنه لم يتم العثور عليه
  7. بعد كل الاستعلامات، اطبع ملخصاً للعدد الإجمالي للعناصر المختلفة الموجودة حالياً في المخزون

استخدم تنسيق المخرجات الدقيق التالي:

لكل استعلام مخزون:

[item_name]: [quantity] in stock

للعناصر التي لم يتم العثور عليها:

[item_name]: Item not found

الملخص في النهاية:

Total items in inventory: [number_of_items]

استخدم طريقة .count() للتحقق بأمان مما إذا كان كل عنصر موجوداً قبل الوصول إلى قيمته. إذا كانت inventory.count(itemName) تعيد 1، فإن العنصر موجود ويمكنك الوصول بأمان إلى inventory[itemName] للحصول على كميته. إذا كانت تعيد 0، فإن العنصر غير موجود. استخدم طريقة .size() على الخريطة للحصول على العدد الإجمالي للعناصر المختلفة في المخزون للملخص النهائي.

جرّب بنفسك

#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;
}

جميع دروس Logic & Flow