В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
esenjel
esenjel
21.07.2020 03:59 •  Информатика

На языке c# много определить класс person, который имеет · закрытое поле типа string, в котором хранится имя; · закрытое поле типа string, в котором хранится фамилия; · закрытое поле типа system.datetime для даты рождения. в классе person определить конструкторы: · конструктор c тремя параметрами типа string, string, datetime для инициализации всех полей класса; · конструктор без параметров, инициализирующий все поля класса некоторыми значениями по умолчанию. в классе person определить свойства c get и set: · свойство типа string для доступа к полю с именем; · свойство типа string для доступа к полю с фамилией; · свойство типа datetime для доступа к полю с датой рождения; · свойство типа int c get и set для получения информации(get) и изменения (set) года рождения в закрытом поле типа datetime, в котором хранится дата рождения. в классе person определить · перегруженную(override) версию виртуального метода string tostring() для формирования строки со значениями всех полей класса; · виртуальный метод string который возвращает строку, содержащую только имя и фамилию. определить тип education - перечисление(enum) со значениями specialist, вachelor, secondeducation. определить класс exam, который имеет три открытых автореализуемых свойства, доступных для чтения и записи: · свойство типа string, в котором хранится название предмета; · свойство типа int, в котором хранится оценка; · свойство типа system.datetime для даты экзамена. в классе exam определить: · конструктор с параметрами типа string, int и datetime для инициализации всех свойств класса; · конструктор без параметров, инициализирующий все свойства класса некоторыми значениями по умолчанию; · перегруженную(override) версию виртуального метода string tostring() для формирования строки со значениями всех свойств класса. определить класс student, который имеет · закрытое поле типа person, в котором хранятся данные студента; · закрытое поле типа education для информации о форме обучения; · закрытое поле типа int для номера группы; · закрытое поле типа exam [] для информации об экзаменах, которые сдал студент. в классе student определить конструкторы: · конструктор c параметрами типа person, education, int для инициализации соответствующих полей класса; · конструктор без параметров, инициализирующий поля класса значениями по умолчанию. в классе student определить свойства c get и set: · свойство типа person для доступа к полю с данными студента; · свойство типа education для доступа к полю с формой обучения; · свойство типа int для доступа к полю с номером группы; · свойство типа exam [] для доступа к полю со списком экзаменов. в классе student определить · свойство типа double ( только с методом get), в котором вычисляется средний как среднее значение оценок в списке сданных экзаменов; · индексатор булевского типа (только с методом get) с одним параметром типа education; значение индексатора равно true, если значение поля с формой обучения студента совпадает со значением индекса, и false в противном случае; · метод void addexams ( params exam [] ) для добавления элементов в список экзаменов; · перегруженную версию виртуального метода string tostring() для формирования строки со значениями всех полей класса, включая список экзаменов; · виртуальный метод string который формирует строку со значениями всех полей класса без списка экзаменов, но со значением среднего . в методе main() 5. создать один объект типа student, преобразовать данные в текстовый вид с метода toshortstring() и вывести данные. 6. вывести значения индексатора для значений индекса education.specialist, education.bachelor и education.secondeducation. 7. присвоить значения всем определенным в типе student свойствам, преобразовать данные в текстовый вид с метода tostring() и вывести данные. 8. c метода addexams( params exam[] ) добавить элементы в список экзаменов и вывести данные объекта student, используя метод

Показать ответ
Ответ:
Misha01923
Misha01923
08.10.2020 08:44
Using System;

namespace NoNamespace.Task020
{
    static class Program
    {
        //В методе Main()

        //7. Присвоить значения всем определенным в типе Student свойствам, преобразовать данные в текстовый вид с метода ToString() и вывести данные.
метода AddExams(params Exam[] ) добавить элементы в список экзаменов и вывести данные объекта Student, используя метод ToString().
        public static void Main()
        {
            //5. Создать один объект типа Student, преобразовать данные в текстовый вид с метода ToShortString() и вывести данные.
            var s = new Student(
                new Person("Орк", "Рыжий", new DateTime(2000, 2, 2)),
                Education.SecondEducation,
                21
            );
            Console.WriteLine(s.ToShortString());
            Console.WriteLine("");

            //6. Вывести значения индексатора для значений индекса Education.Specialist, Education.Bachelor и Education.SecondEducation.
            foreach (Education element in Enum.GetValues(typeof(Education)))
                Console.WriteLine($"{element} = {s[element]}");

            Console.WriteLine("");

            Console.WriteLine(s);
            Console.WriteLine("");

            s.AddExams(
                new Exam("Плевание в потолок", 2, new DateTime(2005, 2, 2)),
                new Exam("Поедание конфет", 3, new DateTime(2005, 2, 2)),
                new Exam("Разбивание черепа врага", 10, new DateTime(2005, 2, 2)),
                new Exam("Сквернословие", 12, new DateTime(2005, 2, 2)),
                new Exam("", 3, new DateTime(2005, 2, 2)));

            Console.WriteLine(s);
            Console.WriteLine("");

            Console.ReadLine();
        }
    }

    public class Person
    {
        public string Name { get; set; } //    · закрытое поле типа string, в котором хранится имя; Использовано autoproperty
        public string Surname { get; set; } //    · закрытое поле типа string, в котором хранится фамилия;Использовано autoproperty
        public DateTime Birthday { get; set; } //    · закрытое поле типа System.DateTime для даты рождения.Использовано autoproperty

        public int BirthYear //    · свойство типа int c методами get и set для получения информации(get) и изменения(set) года рождения в закрытом поле типа DateTime, в котором хранится дата рождения.
        {
            get => this.Birthday.Year;
            set => this.Birthday = new DateTime(value, this.Birthday.Month, this.Birthday.Day);
        }

        public Person(string name, string surname, DateTime birthday) //    · конструктор c тремя параметрами типа string, string, DateTime для инициализации всех полей класса;
        {
            this.Name = name;
            this.Surname = surname;
            this.Birthday = birthday;
        }

        public Person() //    · конструктор без параметров, инициализирующий все поля класса некоторыми значениями по умолчанию.
        {
            this.Name = "Вася";
            this.Surname = "Пупкин";
            this.Birthday = new DateTime(2000, 1, 1);
        }

        //    · перегруженную(override) версию виртуального метода string ToString() для формирования строки со значениями всех полей класса;
        public override string ToString() => $"{this.Name} {this.Surname} [{this.Birthday:dd.MM.yy}]";

        //· виртуальный метод string ToShortString(), который возвращает строку, содержащую только имя и фамилию.
        public virtual string ToShortString() => $"{this.Name} {this.Surname}";
    }

    public enum Education //Определить тип Education - перечисление(enum) со значениями Specialist, Вachelor, SecondEducation.
    {
        Specialist,
        Вachelor,
        SecondEducation
    }

    public class Exam //Определить класс Exam, который имеет три открытых автореализуемых свойства, доступных для чтения и записи:
    {
        public string Subject { get; set; } //· свойство типа string, в котором хранится название предмета;
        public int Mark { get; set; } //· свойство типа int, в котором хранится оценка;
        public DateTime Date { get; set; } //· свойство типа System.DateTime для даты экзамена.

        public Exam(string subject, int mark, DateTime date) //· конструктор с параметрами типа string, int и DateTime для инициализации всех свойств класса;
        {
            this.Subject = subject;
            this.Mark = mark;
            this.Date = date;
        }

        public Exam() //· конструктор без параметров, инициализирующий все свойства класса некоторыми значениями по умолчанию;
        {
            this.Date = new DateTime(2000, 1, 1);
        }

        //· перегруженную(override) версию виртуального метода string ToString() для формирования строки со значениями всех свойств класса.
        public override string ToString() => $"{this.Subject} [{this.Date:dd.MM.yy}] = {this.Mark} ";
    }
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота