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

إضافة وتحديث العناصر

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

challenge icon

التحدي

سهل

قم بتوسيع نظام تتبع المخزون الخاص بك من خلال تنفيذ وظيفة إضافة عناصر جديدة أو تحديث كميات العناصر الموجودة. يوضح هذا الدرس كيف تتعامل الـ maps تلقائياً مع كل من الإدخالات الجديدة والتحديثات على الإدخالات الموجودة.

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

  • عدد صحيح n يمثل عدد عمليات المخزون التي سيتم إجراؤها
  • ثم n من أزواج المدخلات:
    • سلسلة نصية (string) تمثل اسم العنصر
    • عدد صحيح يمثل الكمية المراد إضافتها

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

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

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

لكل عملية مخزون:

Added [quantity] [item_name]. New total: [new_total]

المخزون النهائي:

Final Inventory:
[item1]: [quantity1]
[item2]: [quantity2]
[item3]: [quantity3]
...

يجب طباعة المخزون النهائي بترتيب أبجدي حسب اسم العنصر. استخدم عامل القوس المربع لإضافة الكميات - إذا كان العنصر موجوداً بالفعل، فسيتم إضافته إلى الكمية الحالية؛ وإذا كان عنصراً جديداً، فسيتم إنشاؤه بالكمية المحددة. تذكر أن inventory[itemName] += quantity ستعمل مع كل من العناصر الجديدة والموجودة لأن الـ map تقوم تلقائياً بتهيئة الإدخالات الجديدة بالقيمة 0.

جرّب بنفسك

#include <iostream>
#include <map>
#include <string>
using namespace std;

int main() {
    // TODO: Write your code below
    map<string, int> inventory;
    inventory["Laptops"] = 15;
    inventory["Mice"] = 42;
    inventory["Keyboards"] = 28;
    inventory["Monitors"] = 12;
    
    cout << "Initial Inventory Setup:" << endl;
    for (const auto& pair : inventory) {
        cout << pair.first << ": " << pair.second << endl;
    }
    cout << "Inventory system is ready!" << endl;
    
    return 0;
}

جميع دروس Logic & Flow