חברת הסעות מעונינת לעקוב אחרי תצרוכת הדלק אחרי כל כלי הרכב של כל אחד מכלי הרכב שהיא מפעילה לאורך תקופה של חודש (31 יום). לשם כך, הוגדרה המחלקה חשבונית (Invoice) המכילה את פרטי התדלוק הבאים: יום התדלוק — day (בין 1 ל-31, מסוג שלם), מספר הרכב — num (מחרוזת), שם הנהג המתדלק — name (מחרוזת), כמות הדלק שתודלקה בתדלוק זה — fuel (מספר ממשי). הניחו שבמחלקה הוגדרה פעולה בונה ופעולות get/set לכל תכונה.
חברת הסעות מעונינת לעקוב אחרי תצרוכת הדלק אחרי כל כלי הרכב של כל אחד מכלי הרכב שהיא מפעילה לאורך תקופה של חודש (31 יום). לשם כך, הוגדרה המחלקה חשבונית (Invoice) המכילה את פרטי התדלוק הבאים: יום התדלוק — day (בין 1 ל-31, מסוג שלם), מספר הרכב — num (מחרוזת), שם הנהג המתדלק — name (מחרוזת), כמות הדלק שתודלקה בתדלוק זה — fuel (מספר ממשי). הניחו שבמחלקה הוגדרה פעולה בונה ופעולות get/set לכל תכונה.
המידע על כל התדלוקים בחודש מסוים נשמר במחלקה MonthFuel. למחלקה MonthFuel שתי תכונות: מערך חשבוניות — invoices (מערך עצמים מסוג Invoice), מספר חשבוניות בפועל — current (מסוג שלם). הכנסת הנתונים למערך החשבוניות לא בהכרח מתבצע לפי סדר הזמנים שבו הועדונים הוצאו בפועל. רכב יכול להיות מתודלק מספר פעמים ביום או לא מתודלק כלל.
במחלקה MonthFuel הוגדרה פעולה בונה (constructor):
כתבו במחלקה MonthFuel פעולה בשם addInvoice המקבלת פרטי חשבונית (יום התדלוק, מספר הרכב, שם הנהג וכמות הדלק) ומוסיפה חשבונית חדשה למערך החשבוניות invoices במקום הנכון (לפי current), ומעדכנת את current בהתאם. אפשר להניח כי יש מקום במערך להוספת החשבונית.
public void AddInvoice(int day, string num, string name, double fuel)
כתבו במחלקה MonthFuel פעולה בשם fuelPerDay המחזירה מערך המוגדר בגודל 32 כך ש: באינדקס 0 במערך — יהיה סה"כ כמות הדלק של כל רכבי החברה במשך החודש; באינדקס 1 במערך — תהיה כמות הדלק שתדלקו בה את כל רכבי החברה ביום ה-1 בחודש; באינדקס 2 במערך — תהיה כמות הדלק שתדלקו בה את כל רכבי החברה ביום ה-2 בחודש וכך הלאה.
public double[] FuelPerDay()
כתבו במחלקה MonthFuel פעולה בשם maxFuelPerCar המחזירה את מספר הרכב שתדלק את כמות הדלק הרבה ביותר במהלך אותו החודש.
public string MaxFuelPerCar()
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.