המשימה
בנו שתי מחלקות, כל אחת עם חמשת יסודות המחלקה (שם באות גדולה, תכונות, בנאי, getters ו-setters, ו-toString). **Grade** — ציון: • name — שם המקצוע • value — ערך מספרי שלם בין 0 ל-100 **Student** — תלמיד: • id — מספר תעודת זהות (מחרוזת) • grades — שרשרת חוליות של ציונים הוסיפו ל-Student: • addGrade(g) — מוסיפה ציון לתלמיד. • countGrades() — מחזירה כמה ציונים יש לתלמיד. • hasFailing() — מחזירה true אם קיים אצלו ציון נכשל. ציון נכשל הוא ציון **מתחת ל-55**. ולבסוף, פעולה סטטית printFailing שמקבלת מערך של תלמידים ומדפיסה את תעודות הזהות של אלה שיש להם לפחות ציון נכשל אחד, כל אחת בשורה. הנחיות: • התכונות פרטיות. הגישה אליהן רק דרך פעולות המחלקה. • שימו לב לגבול: 55 עובר, 54 נכשל. המחלקה Node כבר מצורפת למשימה. [טבלה]
קוד הפתיחה
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 ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון —
כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות
בדיקה חיצוני.