טוען...
טוען...
נתונה המחלקה Order, המייצגת פרטי הזמנה של מוצר כלשהו, ולה ארבע תכונות:
productID – הקוד המזהה של המוצר, מטיפוס שלם בין 0 ל־ 99 (כולל)price – המחיר של המוצר, מטיפוס מספר ממשיquantity – כמות היחידות של המוצר, מטיפוס שלםdelivery – האם כולל משלוח עד הבית, מטיפוס בוליאני (true – בעבור כולל משלוח, false – בעבור לא כולל משלוח)לקוח שהזמין משלוח עד הבית צריך לשלם תוספת של 100 ש"ח. אם הוזמנו 10 יחידות לפחות באותה הזמנה, ונוסף על כך סכום ההזמנה (לא כולל המשלוח) גבוה מ־ 170.00 ש"ח – המשלוח ניתן חינם.
הניחו שקיימות פעולות get ו־set לתכונות המחלקה.
כתבו במחלקה Order פעולה בונה המקבלת את הקוד המזהה של המוצר – productID ואת מחיר המוצר – price.
הפעולה תאתחל את תכונות המחלקה כך שתתקבל הזמנה של המוצר – productID, במחיר של המוצר – price, בכמות של יחידה אחת, עם משלוח עד הבית.
(1) כתבו במחלקה Order פעולה פנימית ששמה totalPrice, המחזירה מספר ממשי של הסכום הכולל לתשלום של כל הפריטים בהזמנה ללא דמי משלוח.
(2) כתבו במחלקה Order פעולה פנימית ששמה totalCost, המחזירה מספר ממשי של הסכום כולל דמי משלוח שהלקוח צריך לשלם (אם ההזמנה לא כוללת משלוח עד הבית או המשלוח חינם, יוחזר סכום ההזמנה ללא דמי משלוח).
⚠ הערה — אילוץ מחייב
יש להשתמש בפעולה שכתבתם בתת־סעיף ב(1).
נתון מערך – allOrders מטיפוס Order המכיל הזמנות שבוצעו בשבוע מסוים. המערך אינו מסודר לפי סדר כלשהו ואין בו ערכי null.
כתבו פעולה חיצונית ששמה sumQuantity, המקבלת את המערך allOrders.
הפעולה מחזירה מערך חדש מטיפוס שלם בגודל 100, שבכל תא מופיעה כמות היחידות הכוללת שהוזמנה מן המוצר, שהקוד המזהה שלו זהה לאינדקס של התא.
למשל, אם הוזמנו ממוצר שהקוד המזהה שלו הוא 0 – בהזמנה אחת 15 יחידות, בהזמנה אחרת 20 יחידות, ובהזמנה נוספת 3 יחידות – יופיע בתא של אינדקס 0 המספר 38.
נתונה המחלקה Order, המייצגת פרטי הזמנה של מוצר כלשהו, ולה ארבע תכונות:
productID – הקוד המזהה של המוצר, מטיפוס שלם בין 0 ל־ 99 (כולל)price – המחיר של המוצר, מטיפוס מספר ממשיquantity – כמות היחידות של המוצר, מטיפוס שלםdelivery – האם כולל משלוח עד הבית, מטיפוס בוליאני (true – בעבור כולל משלוח, false – בעבור לא כולל משלוח)לקוח שהזמין משלוח עד הבית צריך לשלם תוספת של 100 ש"ח. אם הוזמנו 10 יחידות לפחות באותה הזמנה, ונוסף על כך סכום ההזמנה (לא כולל המשלוח) גבוה מ־ 170.00 ש"ח – המשלוח ניתן חינם.
הניחו שקיימות פעולות get ו־set לתכונות המחלקה.
כתבו במחלקה Order פעולה בונה המקבלת את הקוד המזהה של המוצר – productID ואת מחיר המוצר – price.
הפעולה תאתחל את תכונות המחלקה כך שתתקבל הזמנה של המוצר – productID, במחיר של המוצר – price, בכמות של יחידה אחת, עם משלוח עד הבית.
(1) כתבו במחלקה Order פעולה פנימית ששמה totalPrice, המחזירה מספר ממשי של הסכום הכולל לתשלום של כל הפריטים בהזמנה ללא דמי משלוח.
(2) כתבו במחלקה Order פעולה פנימית ששמה totalCost, המחזירה מספר ממשי של הסכום כולל דמי משלוח שהלקוח צריך לשלם (אם ההזמנה לא כוללת משלוח עד הבית או המשלוח חינם, יוחזר סכום ההזמנה ללא דמי משלוח).
⚠ הערה — אילוץ מחייב
יש להשתמש בפעולה שכתבתם בתת־סעיף ב(1).
נתון מערך – allOrders מטיפוס Order המכיל הזמנות שבוצעו בשבוע מסוים. המערך אינו מסודר לפי סדר כלשהו ואין בו ערכי null.
כתבו פעולה חיצונית ששמה sumQuantity, המקבלת את המערך allOrders.
הפעולה מחזירה מערך חדש מטיפוס שלם בגודל 100, שבכל תא מופיעה כמות היחידות הכוללת שהוזמנה מן המוצר, שהקוד המזהה שלו זהה לאינדקס של התא.
למשל, אם הוזמנו ממוצר שהקוד המזהה שלו הוא 0 – בהזמנה אחת 15 יחידות, בהזמנה אחרת 20 יחידות, ובהזמנה נוספת 3 יחידות – יופיע בתא של אינדקס 0 המספר 38.