/* המחלקה הראשית המשתמשת במחלקת ציוני התלמידים */ using System; public class StudentTest { public static void Main() { //הגדרת קבועים – ממדי המערך const int NUM_OF_STUDENTS = 2; const int NUM_OF_TESTS = 3; // הגדרת משתנים double sAverage; double tAverage; int grade; int studentNum; int testNum; int max; // יצירת עצם מסוג מחלקת הציונים StudentGrades studentGrades = new StudentGrades(NUM_OF_STUDENTS, NUM_OF_TESTS); // קליטת הציונים Console.WriteLine("Enter student grades: "); for (int i = 1; i <= NUM_OF_STUDENTS; i++) { for (int j = 1; j <= NUM_OF_TESTS; j++) { Console.Write(" Student number {0} Test number {1}: ", i, j); grade = int.Parse(Console.ReadLine()); studentGrades.SetGrade(i, j, grade); } // for j } // for i // קליטת מספר תלמיד ומספר מבחן Console.Write("Enter student number: "); studentNum = int.Parse(Console.ReadLine()); Console.Write("Enter test number: "); testNum = int.Parse(Console.ReadLine()); //חישוב הערכים המבוקשים באמצעות זימון הפעולות המתאימות sAverage = studentGrades.StudentAverage(studentNum); tAverage = studentGrades.TestAverage(testNum); max = studentGrades.MaxGrade(); Console.WriteLine("The average of student {0} is {1}", studentNum, sAverage); Console.WriteLine("The average of test {0} is {1}", testNum, tAverage); Console.WriteLine("The highest grade is: {0}", max); }// Main }// class StudentTest /* מחלקת ציוני התלמידים */ public class StudentGrades { // הצהרת מערך הציונים private int[,] grades; //פעולה בונה public StudentGrades(int students, int tests) { grades = new int[students, tests]; } // עדכון ציון מבחן של תלמיד נתון public void SetGrade(int studentNumber, int testNumber, int grade) { grades[studentNumber - 1, testNumber - 1] = grade; } // מציאת ממוצע תלמיד נתון public double StudentAverage(int studentNumber) { int sumStudent = 0; for (int i = 0; i < grades.GetLength(1); i++) sumStudent = sumStudent + grades[studentNumber - 1, i]; return (double)sumStudent / grades.GetLength(1); } // מציאת ממוצע מבחן נתון public double TestAverage(int testNumber) { int sumTest = 0; for (int i = 0; i < grades.GetLength(0); i++) sumTest = sumTest + grades[i, testNumber - 1]; return (double)sumTest / grades.GetLength(0); } // מציאת ציון מקסימלי public int MaxGrade() { int max = 0; for (int i = 0; i < grades.GetLength(0); i++) for (int j = 0; j < grades.GetLength(1); j++) if (grades[i, j] > max) max = grades[i, j]; return max; } } // class StudentGrades