חברת "ספרי העם" מארגנת תערוכה ויריד של ספרי ילדים. לשם כך פיתחו מתכנתי החברה פרויקט הכולל שתי מחלקות: Book ו-Storage.
חברת "ספרי העם" מארגנת תערוכה ויריד של ספרי ילדים. לשם כך פיתחו מתכנתי החברה פרויקט הכולל שתי מחלקות: Book ו-Storage.
המחלקה Book מייצגת ספר וכוללת את התכונות הבאות:
- name – שם הספר, מטיפוס מחרוזת (String/string).
- author – שם המחבר, מטיפוס מחרוזת (String/string).
- year – שנת יציאת הספר לאור, מטיפוס מספר שלם (int).
- copies – מספר העותקים של הספר במלאי החברה, מטיפוס מספר שלם (int).
- price – מחיר הספר, מטיפוס מספר ממשי (double).
- bestseller – מטיפוס boolean/bool (true – אם הספר הוא רב-מכר, false – אם אינו רב מכר).
במחלקה הוגדרו פעולות get לכל התכונות.
המחלקה Storage מייצגת מלאי ספרים של החברה. למחלקה שתי תכונות:
- books – מערך ספרים (מערך עצמים מטיפוס Book). גודל המערך 1000, שהוא המספר המקסימלי של הספרים.
- numOfBooks – מספר הספרים השונים שהחברה מציעה למכירה.
```csharp
class Storage{
private Book[] books;
private int numOfBooks;
public Storage()
{
books = new Book[1000];
numOfBooks = 0;
}
}
כתבו פעולה המבצעת מכירה של num עותקים. אם אי אפשר למכור את המספר הרצוי של עותקים הפעולה מחזירה false, ולא הפעולה מעדכנת את מספר העותקים של הספר ומחזירה true.
public bool Sell(int num)
לקראת "שבוע הספר העברי" החברה החליטה להוזיל ב-50% את מחירם של הספרים שיצאו לאור לפני שנת 2010, בתנאי שיש יותר מ-100 עותקים במלאי והם לא ספרי "רב מכר". כתבו פעולה המעדכנת את מחיר הספר בהתאם להחלטת החברה.
public void UpdatePrice()
כתבו פעולה המוחקת ממערך books את כל הספרים שנמכרו (מספר העותקים שווה לאפס). יש לעדכן תכונה numOfBooks בהתאם.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.