public class Student
{
public string Name { get; }
public List<int> Grades { get; } = new List<int>();
public Student(string name)
{
Name = name;
}
// Метод для додавання оцінки
public void AddGrade(int grade)
{
if (grade >= 1 && grade <= 12)
Grades.Add(grade);
}
// Метод для обчислення середньої оцінки
public double CalculateAverageGrade()
{
if (Grades.Count == 0)
return 0;
return Grades.Average();
}
// Перевизначений метод ToString()
public override string ToString()
{
return $"Студент {Name}, середній бал: {CalculateAverageGrade():F2}";
}
// Статичний метод для створення студента
public static Student CreateRandomStudent()
{
var names = new[] { "Анна", "Іван", "Марія", "Петро" };
var random = new Random();
var student = new Student(names[random.Next(names.Length)]);
// Додаємо випадкові оцінки
for (int i = 0; i < 5; i++)
student.AddGrade(random.Next(1, 13));
return student;
}
}
// Приклад використання:
var student = Student.CreateRandomStudent();
student.AddGrade(10);
Console.WriteLine(student);
Кожен метод повинен виконувати лише одну конкретну задачу.