Материал: ответы на тест по .NET

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

1b

3b

4b

6b

7b

10b

11а

12а

13а

14а

15d

16a

17a

18b

19b

20a

21a

22a

23a

24c

25a

Задача 3

Создать иерархию классов Person-Student-Teacher. Каждый класс – в своей сборке. В каждом классе должны быть свойства, а также виртуальная функция Print и переопределенная функция ToString(). Основная программа создает массив объектов Person или их наследников, после чего выдает его на экран. У каждого Teacher должен быть список Students, которыми он руководит, у каждого Student - Teacher, который им руководит.

С помощью is, as, GetType определить, сколько в массиве персон, студентов и преподавателей и перевести всех студентов на следующий курс.

Прикрепить скриншоты программы и код

Код

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace ConsoleApp1

{

class Person

{

private byte age;

private string first_name;

private string last_name;

public byte Age

{

get

{

return age;

}

set

{

age = value;

}

}

public string First_name

{

get

{

return first_name;

}

set

{

first_name = value;

}

}

public string Last_name

{

get

{

return last_name;

}

set

{

last_name = value;

}

}

virtual public void Print()

{

Console.WriteLine("Имя: " + first_name);

Console.WriteLine("Фамилия: " + last_name);

Console.WriteLine("Возраст: " + age);

}

public override string ToString()

{

string str = "Имя: " + first_name + "; " + "Фамилия: " + last_name + "; " + "Возраст: " + age;

return str;

}

}

class Student : Person

{

private string teacher;

private string gruppa;

private byte kurs;

public string Teacher

{

get

{

return teacher;

}

set

{

teacher = value;

}

}

public string Gruppa

{

get

{

return gruppa;

}

set

{

gruppa = value;

}

}

public byte Kurs

{

get

{

return kurs;

}

set

{

kurs = value;

}

}

public override void Print()

{

Console.WriteLine("Имя: " + base.First_name);

Console.WriteLine("Фамилия: " + base.Last_name);

Console.WriteLine("Возраст: " + base.Age);

Console.WriteLine("Учитель: " + Teacher);

Console.WriteLine("Группа: " + Gruppa);

}

}

class Teacher : Person

{

private List<Student> list_student = new List<Student>();

public void AddStudent(Student student)

{

list_student.Add(student);

}

public bool RemoveStudent(Student student)

{

//var test=list_student.Select(x => x == student);

if (list_student.Exists(x => x == student))

{

return list_student.Remove(student);

}

else

{

return false;

}

}

public override void Print()

{

Console.WriteLine("Учитель: " + base.Last_name);

Console.WriteLine("Возраст: " + base.Age);

Console.WriteLine("Студенты: ");

byte count = 0;

foreach (var student in list_student)

{

Console.WriteLine(count + ")");

student.Print();

Console.WriteLine();

count++;

}

Console.WriteLine("----------------------------------------------------");

Console.WriteLine();

}

}

class Program

{

static void Main(string[] args)

{

List<Student> students = new List<Student>();

List<Teacher> teacher = new List<Teacher>();

students.Add(new Student() { Age = 22, First_name = "Иван", Last_name = "Иванов", Gruppa = "KSM-08-5", Kurs = 6, Teacher = "Вава" });

students.Add(new Student() { Age = 23, First_name = "Вася", Last_name = "Ивано", Gruppa = "KSM-08-5", Kurs = 6, Teacher = "Фпапппк" });

students.Add(new Student() { Age = 23, First_name = "Лера", Last_name = "Ива", Gruppa = "KSM-08-5", Kurs = 6, Teacher = "Ваысыыыс" });

students.Add(new Student() { Age = 23, First_name = "Даша", Last_name = "Ив", Gruppa = "KSM-08-5", Kurs = 6, Teacher = "Вава" });

teacher.Add(new Teacher() { Age = 65, First_name = "Михаил", Last_name = "Вава" });

teacher.Add(new Teacher() { Age = 63, First_name = "Геннадий", Last_name = "Фпапппк" });

teacher.Add(new Teacher() { Age = 60, First_name = "Антон", Last_name = "Ваысыыыс" });

for (int i = 0; i <= students.Count - 1; i++)

{

for (int j = 0; j <= teacher.Count - 1; j++)

{

if (teacher[j].Last_name == students[i].Teacher)

{

teacher[j].AddStudent(students[i]);

}

}

}

foreach (var teacher1 in teacher)

{

teacher1.Print();

}

Console.Read();

}

}

}