עיריית "נווה שלום" החליטה להקים מתחם קניות חדש ומודרני. המתחם יכלול חנויות, מסעדות, בתי קפה ובתי עסק אחרים. במתחם יש מקום ל-120 עסקים שונים.
העירייה מעוניינת במערכת שתנהל את המתחם ותספק מידע למבקרים ולבעלי העסקים.
למערכת שתי מחלקות:
המחלקה Business מייצגת עסק במתחם. למחלקה התכונות הבאות:
- שם העסק – name, מטיפוס מחרוזת, string
- סוג העסק – type, מטיפוס מחרוזת, string (סוג העסק: חנות, מסעדה, בית קפה וכו')
- שטח העסק – area, מטיפוס מספר שלם, int
- שם בעל העסק – owner, מטיפוס מחרוזת, string
המחלקה ShoppingCenter מייצגת מתחם קניות. למחלקה ארבע תכונות:
- שם המתחם – name, מטיפוס מחרוזת, string
- רשימת עסקים – busArr, מטיפוס מערך עצמים מסוג Business
- שטח פנוי במתחם – freeArea, מסוג מספר שלם, int
- מספר עסקים בפועל – current, מסוג מספר שלם, int
במחלקות הוגדרו כל הפעולות Set/Get עבור כל התכונות.
(א)העירייה קבעה כללים לחישוב דמי הארנונה. סכום התשלום לכל עסק נקבע לפי סוג העסק ושטח העסק:
- עבור מסעדה – 150 ש"ח למ"ר
- עבור בית קפה – 120 ש"ח למ"ר
- עבור חנות מוצרי מזון – 100 ש"ח למ"ר
- עבור כל סוג עסק אחר – 80 ש"ח למ"ר
כתבו במחלקה Business את הפעולה CalculateRent לחישוב סכום דמי הארנונה.
- עבור מסעדה – 150 ש"ח למ"ר
- עבור בית קפה – 120 ש"ח למ"ר
- עבור חנות מוצרי מזון – 100 ש"ח למ"ר
- עבור כל סוג עסק אחר – 80 ש"ח למ"ר
כתבו במחלקה Business את הפעולה CalculateRent לחישוב סכום דמי הארנונה.
(ב)כתבו במחלקה ShoppingCenter פעולה בונה המייצרת מתחם קניות ללא בתי העסק.
כותרת הפעולה:
```csharp
public ShoppingCenter(string name, int totalArea)
```
כותרת הפעולה:
```csharp
public ShoppingCenter(string name, int totalArea)
```
(ג)בעל עסק שרוצה לקבל מקום במתחם מוסר להנהלת המתחם את פרטי העסק. הנהלת המתחם בודקת שיש שטח פנוי גדול מספיק לפתיחת העסק ושאין עוד עסק עם שם זהה.
כתבו במחלקה ShoppingCenter פעולה המקבלת את פרטי העסק. הפעולה תבדוק אם אפשר לפתוח עסק במתחם. אם כן – הפעולה תוסיף את העסק לרשימת העסקים, תעדכן תכונות רלוונטיות ותחזיר ערך true. אם לא – הפעולה תחזיר ערך false.
כותרת הפעולה:
```csharp
public bool AddBusiness(string name, string type, int area,
string owner)
```
שימו לב: לא ניתן להוסיף עסק אם רשימת העסקים מלאה.
כתבו במחלקה ShoppingCenter פעולה המקבלת את פרטי העסק. הפעולה תבדוק אם אפשר לפתוח עסק במתחם. אם כן – הפעולה תוסיף את העסק לרשימת העסקים, תעדכן תכונות רלוונטיות ותחזיר ערך true. אם לא – הפעולה תחזיר ערך false.
כותרת הפעולה:
```csharp
public bool AddBusiness(string name, string type, int area,
string owner)
```
שימו לב: לא ניתן להוסיף עסק אם רשימת העסקים מלאה.
(ד)כתבו פעולה המקבלת מערך שמות של בעלי עסקים owners ומדפיסה לכל בעל עסק את סך כל תשלומי הארנונה שעליו לשלם (עבור כל העסקים שבבעלותו).
כותרת הפעולה:
```csharp
public void PrintRent(string[] owner)
```
כותרת הפעולה:
```csharp
public void PrintRent(string[] owner)
```
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות
שאלו כאן — ותקבלו מענה מוסמך.
רוצים לתרגל אלפי שאלות נוספות?
המשיכו לתרגול מלא עם משוב אישי ←מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות