Menu
CoddyTech

מכירת שיקוי

חלק מהיחידה יסודות במסלול ה-Lua של Coddy. שיעור 82 מתוך 90.

challenge icon

אתגר

קל

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

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

  • מחרוזת שמכילה את שם השיקוי למכירה

החלף את פקודות ההדפסה Found, Price ו־Stock מהשלב הקודם במכירה, כך שיודפסו רק שתי שורות המכירה שלהלן. קרא את שם השיקוי באמצעות קריאה יחידה ל־io.read(): בכל הרצה תתקבל שורת קלט אחת.

השתמש בלולאת for מספרית כדי לעבור על טבלת inventory שלך ולמצוא את השיקוי שצוין. כשאתה מאתר את השיקוי התואם באמצעות אופרטור השוויון ==, הפחת את הערך של stock שלו ב־1 כדי לדמות את המכירה.

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

Sold 1 [potion name]
Remaining stock: [new stock count]

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

נסו בעצמכם

-- Inventory table with potion data
inventory = {
    {name = "Health Potion", price = 15, stock = 8},
    {name = "Mana Potion", price = 12, stock = 5},
    {name = "Strength Potion", price = 25, stock = 3},
    {name = "Speed Potion", price = 18, stock = 2}
}

-- Read the potion name to search for
search_name = io.read()

-- Use a numeric for loop to search through the inventory
for i = 1, #inventory do
    if inventory[i].name == search_name then
        print("Found: " .. inventory[i].name)
        print("Price: " .. inventory[i].price .. " gold")
        print("Stock: " .. inventory[i].stock .. " units")
        break
    end
end

כל השיעורים ביחידה יסודות

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