ответы на тест по .NET
.docx
1b
2а
3b
4b
5а
6b
7b
8а
9а
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();
}
}
}