המשימה
בנו שתי מחלקות, כל אחת עם חמשת יסודות המחלקה (שם באות גדולה, תכונות,
בנאי, getters ו-setters, ו-toString).
**Grade** — ציון:
• name — שם המקצוע
• value — ערך מספרי שלם בין 0 ל-100
**Student** — תלמיד:
• id — מספר תעודת זהות (מחרוזת)
• grades — שרשרת חוליות של ציונים
הוסיפו ל-Student:
• addGrade(g) — מוסיפה ציון לתלמיד.
• countGrades() — מחזירה כמה ציונים יש לתלמיד.
• hasFailing() — מחזירה true אם קיים אצלו ציון נכשל. ציון נכשל הוא
ציון **מתחת ל-55**.
ולבסוף, פעולה סטטית printFailing שמקבלת מערך של תלמידים ומדפיסה את
תעודות הזהות של אלה שיש להם לפחות ציון נכשל אחד, כל אחת בשורה.
הנחיות:
• התכונות פרטיות. הגישה אליהן רק דרך פעולות המחלקה.
• שימו לב לגבול: 55 עובר, 54 נכשל.
המחלקה Node כבר מצורפת למשימה.
```ds:table
{"title":"הנתונים שבדוגמה","rows":[["ת.ז.","ציונים","יש נכשל?"],["111","מתמטיקה 90 · אנגלית 40","כן"],["222","מתמטיקה 80 · אנגלית 55","לא — 55 עובר"],["333","אין ציונים","לא"],["444","היסטוריה 54","כן — 54 נכשל"]]}
```
קוד הפתיחה
using System;
class Grade {
private string name;
private int value;
public Grade(string name, int value) {
// אתחל את התכונות
}
public string GetName() { return ""; }
public int GetValue() { return 0; }
public void SetName(string name) { }
public void SetValue(int value) { }
public override string ToString() { return ""; }
}
class Student {
private string id;
private Node<Grade> grades;
public Student(string id) {
// אתחל את התכונות. שרשרת ריקה היא null.
}
public string GetId() { return ""; }
/** מוסיפה ציון לתלמיד. */
public void AddGrade(Grade g) {
// כתוב את הפתרון כאן
}
/** כמה ציונים יש לתלמיד. */
public int CountGrades() {
// כתוב את הפתרון כאן
return 0;
}
/** האם קיים ציון מתחת ל-55. */
public bool HasFailing() {
// כתוב את הפתרון כאן
return false;
}
public override string ToString() { return ""; }
}
class Program {
/** מדפיסה את תעודות הזהות של התלמידים שיש להם ציון נכשל. */
static void PrintFailing(Student[] students) {
// כתוב את הפתרון כאן
}
static void Main() {
Student a = new Student("111");
a.AddGrade(new Grade("מתמטיקה", 90));
a.AddGrade(new Grade("אנגלית", 40));
Student b = new Student("222");
b.AddGrade(new Grade("מתמטיקה", 80));
b.AddGrade(new Grade("אנגלית", 55));
Student c = new Student("333");
Student d = new Student("444");
d.AddGrade(new Grade("היסטוריה", 54));
Console.WriteLine(a.CountGrades()); // 2
Console.WriteLine(c.CountGrades()); // 0
Console.WriteLine(b.HasFailing()); // False
Console.WriteLine(d.HasFailing()); // True
PrintFailing(new Student[]{a, b, c, d}); // 111 ואז 444
}
}
כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון —
כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות
בדיקה חיצוני.