בדיקת המלאי
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-C++ של Coddy. שיעור 32 מתוך 56.
אתגר
קלהמשיכו לבנות את מערכת מעקב המלאי שלכם באמצעות מימוש האפשרות לבדוק את רמת המלאי הנוכחית של פריטים מסוימים. בשיעור הזה תלמדו כיצד לבצע שאילתה בטוחה במפה כדי לקבל מידע על פריטים, וכיצד לטפל במקרים שבהם ייתכן שפריטים אינם קיימים במלאי.
הקלטים הבאים יסופקו:
- מספר שלם
nהמייצג את מספר שאילתות המלאי שיש לבצע - לאחר מכן,
nמחרוזות המייצגות את שמות הפריטים שיש לבדוק
על התוכנית שלכם:
- להתחיל עם המלאי ההתחלתי הבא:
inventory["apples"] = 50;
inventory["bananas"] = 30;
inventory["oranges"] = 25;
inventory["grapes"] = 40; - לקרוא את מספר שאילתות המלאי
- לקרוא את שם הפריט בכל שאילתה
- להשתמש בשיטה
.count()כדי לבדוק אם הפריט קיים במפת המלאי - אם הפריט קיים, להדפיס את כמות המלאי הנוכחית שלו
- אם הפריט אינו קיים, להדפיס הודעה המציינת שהוא לא נמצא
- לאחר כל השאילתות, להדפיס סיכום של המספר הכולל של הפריטים השונים שנמצאים כעת במלאי
השתמשו בפורמט הפלט המדויק הבא:
עבור כל שאילתת מלאי:
[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;
}כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מצביעים וזיכרון
מהו מצביע?אופרטור קבלת כתובתאופרטור ביטול הפניהמצביעי Nullמצביעים ומערכיםזיכרון דינמי באמצעות 'new'שחרור זיכרון באמצעות 'delete'סיכום — תרגול מצביעים2וקטורים (מערכים דינמיים)
היכרות עם std::vectorיצירת וקטורהוספת איבריםגישה לאיבריםגודל הווקטורמעבר על איברים באמצעות לולאת forלולאת for מבוססת טווחהסרת איבריםסיכום — פעולות על וקטורים5פרויקט: כלי לניהול מלאי
הגדרת הפרויקטהוספה ועדכון של פריטיםתרגלו בעצמכם: קומפיילר C++ אונליין