Menu
Coddy logo textTech

בדיקת המלאי

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-C++ של Coddy. שיעור 32 מתוך 56.

challenge icon

אתגר

קל

המשיכו לבנות את מערכת מעקב המלאי שלכם באמצעות מימוש האפשרות לבדוק את רמת המלאי הנוכחית של פריטים מסוימים. בשיעור הזה תלמדו כיצד לבצע שאילתה בטוחה במפה כדי לקבל מידע על פריטים, וכיצד לטפל במקרים שבהם ייתכן שפריטים אינם קיימים במלאי.

הקלטים הבאים יסופקו:

  • מספר שלם n המייצג את מספר שאילתות המלאי שיש לבצע
  • לאחר מכן, n מחרוזות המייצגות את שמות הפריטים שיש לבדוק

על התוכנית שלכם:

  1. להתחיל עם המלאי ההתחלתי הבא:
    inventory["apples"] = 50;
    inventory["bananas"] = 30;
    inventory["oranges"] = 25;
    inventory["grapes"] = 40;
  2. לקרוא את מספר שאילתות המלאי
  3. לקרוא את שם הפריט בכל שאילתה
  4. להשתמש בשיטה .count() כדי לבדוק אם הפריט קיים במפת המלאי
  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;
}

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר C++ אונליין