Написать код C#
- Создать абстрактный класс Person с двумя свойствами Имя и Фамилия.
- Создать класс Student (наследник класса Person) и добавить свойство Оценка. Объявить в классе конструктор с двумя параметрами: public Student(string name, string lastname).
- Создать класс Teacher (наследник класса Person) и добавить свойство Кафедра. Объявить в классе конструктор с тремя параметрами: public Teacher (string name, string lastname, string department).
- Создать класс Group (студенческая группа) с двумя свойствами Номер_группы (строка) и Список_студентов (массив объектов типа Student ). Объявить в классе конструктор с двумя параметрами: public Group(string number, int count), где number – номер группы, а count – количество студентов в группе). Объявить в классе метод AddStudents(), который запрашивает у пользователя имя и фамилию очередного студента, создает объект типа Student и добавляет его к массив Список_студентов.
- Создать класс Exam с тремя полями – название учебной дисциплины (строка), экзаменатор (объект типа Teacher), студенческая группа (объект типа Group). Объявить в классе конструктор с тремя параметрами: public Exam (string subj, Teacher teach, Group group). Объявить в классе метод ProcessExam(), который каждому студенту выставит оценку за экзамен (случайное целое число в диапазоне 60..100). Объявить в классе метод ResultExam(), который сформирует и выведет на экран ведомость сдачи экзамена. Ведомость должна содержать информацию о предмете, который сдавался, об учебной группе, список группы с оценками каждого студента и фамилию экзаменатора.
- В классе Program создать объект класса Group и с помощью метода AddStudents() внести информацию о студентах. Создать объект класса Teacher. Создать объект класса Exam, например, Exam exam = new Exam("Программирование", teach, group); и вызвать методы для моделирования процесса экзамена и вывода результатов на экран: exam.ProcessExam(); exam.ResultExam();
- При желании дополнить проект любыми классами, свойствами или методами, которые на ваш взгляд улучшают компьютерную модель экзамена.
Вот что есть у меня:
using System;
namespace task
{
class Program
{
static void Main(string[] args)
{
Group group = new Group("6", 5);
group.AddStudent("София", "Иванова");
group.AddStudent("Петр", "Федоров");
group.AddStudent("Иван", "Сидоров");
group.AddStudent("Анастасия", "Смирнова");
group.AddStudent("Александр", "Белов");
Teacher teacher = new Teacher("Елена", "Ковалёва", "ПИ");
Exam exam = new Exam("Высшая математика", teach, group);
}
abstract class Person
{
public string FirstName;
public string LastName;
}
class Student : Person
{
public int Grade;
public Student(string name, string lastname)
{
FirstName = name;
LastName = lastname;
}
}
class Teacher : Person
{
public string Department;
public Teacher(string name, string lastname, string department)
{
FirstName = name;
LastName = lastname;
Department = department;
}
}
class Group
{
public string Group_Number;
public Student[] students;
public int kol_vo = 5;
public Group(string number, int count)
{
Group_Number = number;
kol_vo = count;
}
public void AddStudent(string name, string lastname)
{
Student[] students = new Student[5];
Student student = new Student(name, lastname );
students.Add(student);
}
}
class Exam
{
public string Math;
public Teacher Teach;
public Group studgroup;
public Exam(string subj, Teacher teach, Group group)
{
Math = subj;
studgroup = group;
Teach = teach;
}
public void ProcessExam()
{
Random rnd = new Random();
//Получить случайное число (в диапазоне от 0 до 10)
int Grade = rnd.Next(60, 100);
//Вывод числа в консоль
Console.WriteLine(Grade);
Console.Write("Оценка за экзамен:");
Grade = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(studgroup.students(Grade));
}
public void ResultExam()
{
}
}
}
}
Подправьте и допишите, пожалуйста