Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ответы на тест по .NET

.docx
Скачиваний:
17
Добавлен:
10.06.2020
Размер:
266.73 Кб
Скачать

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();

}

}

}

Соседние файлы в предмете Программирование на C#