משימה
עליכם לכתוב קטע קוד הכולל מחלקה ראשית (Main) המבצע את השלבים הבאים:
יצירת זמנים
- בנו שלושה זמנים שונים בשם
t1,t2,t3באמצעות הבנאי המקבל שעה ודקות.
יצירת עותק
- בנו זמן נוסף בשם
t4, הזהה בערכיו לזמןt1. - הציגו את הזמן
t4.
עדכון באמצעות פעולות set
- עדכנו שני זמנים לבחירתכם (שעה או דקות) באמצעות פעולת עדכון מתאימה.
- הציגו את הזמנים המעודכנים.
עדכון באמצעות הוספת דקות
- עדכנו את שני הזמנים הנותרים באמצעות הפעולה
AddMinutes. - הציגו את הזמנים המעודכנים.
מציאת זמן מינימלי
- עבור הזמנים שהוגדרו בסעיף 1, מצאו והציגו את הזמן המוקדם ביותר.
מציאת הפרש מינימלי
- עבור הזמנים שהוגדרו בסעיף 1, מצאו את שני הזמנים שההפרש ביניהם הוא הקטן ביותר.
- הציגו אותם.
זמן הקרוב ביותר לחצות
- עבור הזמנים שהוגדרו בסעיף 1, מצאו והציגו את הזמן הסמוך ביותר לחצות.
מחלקת Time
נתונה מחלקה בשם Time, המייצגת זמן (שעה ודקות).
המחלקה ממומשת בקובץ נפרד וכוללת את החתימות הבאות:
בנאים
public Time(int h, int m)- בונה אובייקט זמן חדש משעה
hודקהm. -
אם הערכים אינם בטווח חוקי, השעה והדקות נקבעים ל־0.
public Time(Time other)- בנאי העתקה: בונה אובייקט זמן חדש עם אותם ערכים של שעה ודקות כמו האובייקט
other.
פעולות get
public int GetHour()— מחזירה את השעה של האובייקט.public int GetMinute()— מחזירה את הדקות של האובייקט.
פעולות set
public void SetHour(int h)— משנה את השעה אםhבטווח החוקי (0–23); אחרת לא משנה.public void SetMinute(int m)— משנה את הדקות אםmבטווח החוקי (0–59); אחרת לא משנה.
פעולות נוספות
-
public override string ToString()— מחזירה ייצוג מחרוזתי של הזמן בפורמט"hh:mm"עם אפסים מובילים. -
public int MinFromMidnight()— מחזירה את מספר הדקות שעברו מאז חצות. -
public bool Equals(Time other)— בודקת האם זמן זה שווה לזמן אחר (גם שעה וגם דקות שוות). -
public bool Before(Time other)— מחזירהtrueאם הזמן הנוכחי קודם (מוקדם) מהזמןother. -
public bool After(Time other)— מחזירהtrueאם הזמן הנוכחי מאוחר מהזמןother. -
public int Difference(Time other)— מחזירה את ההפרש בדקות בין הזמן הנוכחי לבין הזמןother, בהנחה שהנוכחי מאוחר יותר. -
public Time AddMinutes(int num)— מחזירה זמן חדש שמתקבל לאחר הוספתnumדקות לזמן הנוכחי, בצורה מחזורית בתוך יום (מודולו 1440 דקות).