מכירת שיקוי
חלק מהיחידה יסודות במסלול ה-Lua של Coddy. שיעור 82 מתוך 90.
אתגר
קלהשלם את פרויקט חנות השיקויים שלך באמצעות מימוש מערכת לעיבוד עסקאות מכירה. בהמשך לפונקציונליות החיפוש שלך, צור מערכת שמעבדת מכירת שיקוי על ידי הפחתת הכמות במלאי ומתן אישור על העסקה.
הקלט הבא יסופק:
- מחרוזת שמכילה את שם השיקוי למכירה
החלף את פקודות ההדפסה 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כל השיעורים ביחידה יסודות
4אופרטורים 2: יחסים ולוגיקה
אופרטורי שוויוןאופרטורים יחסייםהאופרטור 'and'האופרטור 'or'האופרטור 'not'הערכה בקצר חשמליערכים אמתיים ושקרייםסיכום – לוגיקה פשוטה10טבלאות חלק 1: בסגנון רשימה
מהי טבלה?יצירת טבלהגישה לאיברים לפי אינדקסשינוי איברים לפי אינדקסאופרטור האורך '#'table.insert()table.remove()סיכום - ניהול חברי החבורה13פרויקט: חנות שיקויים פשוטה
הגדרת הפרויקטהוספת שיקוי2משתנים וסוגי נתונים
מהו משתנה?מספריםמחרוזותערכים בוליאנייםהערך 'nil'הפונקציה type()מוסכמות למתן שמותסיכום – פרופיל דמות5פלט בסיסי
הדפסת ערכים מילולייםהדפסת משתניםהדפסת ערכים מרוביםשילוב מחרוזות ומשתניםהפונקציה tostring()קלטהמרת טיפוסיםסיכום – דוח מצבסיכום – עד 1208יסודות עיבוד מחרוזות
string.len()string.upper ו־string.lowerstring.sub()string.rep()string.find()חזרה – עיצוב שם משתמש3אופרטורים 1: חשבון ושרשור
אופרטורים אריתמטייםאופרטור מודולואופרטור חזקהשרשור מחרוזותקדימות אופרטוריםסיכום – חישובים פשוטים9יסודות הפונקציות
הגדרת פונקציהקריאה לפונקציהפונקציות עם פרמטריםפונקציות עם כמה פרמטריםהפקודה 'return'סיכום – מחשבון שטחתרגלו בעצמכם: קומפיילר Lua אונליין