תרגול מדעי המחשב

מחלקת שעה

בינוני C#

המשימה

בנה מחלקה בשם Hour שמייצגת שעה ביממה.

המחלקה תכלול:
• שתי תכונות פרטיות: hour (0-23) ו-minutes (0-59).
• בנאי שמקבל שעה ודקות.
• פעולות מאחזרות לשתיהן.
• פעולה addMinutes שמקבלת מספר דקות ומקדמת את השעה בהתאם.
• פעולת toString שמחזירה את השעה בפורמט hh:mm, תמיד בשתי ספרות.

דוגמאות:
  09:45 ועוד 30 דקות   →  10:15
  23:50 ועוד 20 דקות   →  00:10
  08:00 ועוד 125 דקות  →  10:05

הנחיות:
• הדרך הנוחה: להמיר הכול לדקות מתחילת היממה, לחבר, ואז לפרק בחזרה
  בעזרת / ו-%.
• מעבר חצות — התוצאה חוזרת לתחילת היממה. השתמש ב-%24 על השעות.
• שעה חד-ספרתית חייבת לצאת עם אפס מוביל: 9 נכתב 09.

```ds:table
{"title":"דוגמאות","rows":[["שעה","תוספת","תוצאה"],["09:45","30","10:15"],["23:50","20","00:10"],["08:00","125","10:05"],["00:00","0","00:00"]]}
```

קוד הפתיחה

using System;

class Hour {
    private int hour;
    private int minutes;

    public Hour(int hour, int minutes) {
        // אתחל את התכונות
    }

    public int GetHour() {
        return 0;   // החזר את hour
    }

    public int GetMinutes() {
        return 0;   // החזר את minutes
    }

    /** מקדמת את השעה במספר הדקות שהתקבל, כולל מעבר חצות. */
    public void AddMinutes(int m) {
        // כתוב את הפתרון כאן
    }

    public override string ToString() {
        // החזר בפורמט hh:mm — תמיד שתי ספרות בכל חלק
        return "";
    }
}

class Program {
    static void Main() {
        Hour a = new Hour(9, 45);
        a.AddMinutes(30);
        Console.WriteLine(a);            // 10:15

        Hour b = new Hour(23, 50);
        b.AddMinutes(20);
        Console.WriteLine(b);            // 00:10

        Hour c = new Hour(8, 0);
        c.AddMinutes(125);
        Console.WriteLine(c);            // 10:05
        Console.WriteLine(c.GetHour());  // 10

        Hour d = new Hour(0, 0);
        d.AddMinutes(0);
        Console.WriteLine(d);            // 00:00
    }
}

כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.

התרגיל הבא מחלקת נקודה
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון — כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות בדיקה חיצוני.