Загрузка данных


using System;

namespace шгнпгншпш_Laba02
{
    
    public class Human
    {
        public string LastName { get; set; }
        public string FirstName { get; set; }
        public string MiddleName { get; set; }
        public string Gender { get; set; }
        public int BirthDay { get; set; }
        public int BirthMonth { get; set; }
        public int BirthYear { get; set; }

        public int GetAge(int day, int month, int year)
        {
            try
            {
                if (day < 0 || month < 0 || year < 0)
                {
                    throw new ArgumentException("Компоненты даты не могут быть отрицательными!");
                }

                int age = year - BirthYear;

                if (month < BirthMonth || (month == BirthMonth && day < BirthDay))
                {
                    age--;
                }

                return age;
            }
            catch (ArgumentException)
            {
                throw;
            }
        }
    }

    
    public class Student : Human
    {
        public string Group { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            
            try
            {
                
                Student[] students = new Student[20];

                
                string[] maleLastNames = { "Смирнов", "Иванов", "Кузнецов", "Попов", "Соколов", "Лебедев", "Козлов", "Новиков", "Морозов", "Петров" };
                string[] maleFirstNames = { "Александр", "Дмитрий", "Максим", "Сергей", "Андрей", "Алексей", "Артем", "Илья", "Кирилл", "Михаил" };
                string[] maleMiddleNames = { "Александрович", "Дмитриевич", "Сергеевич", "Андреевич", "Алексеевич", "Петрович", "Игоревич", "Владимирович" };

                string[] femaleLastNames = { "Смирнова", "Иванова", "Кузнецова", "Попова", "Соколова", "Лебедева", "Козлова", "Новикова", "Морозова", "Петрова" };
                string[] femaleFirstNames = { "Елена", "Ольга", "Наталья", "Екатерина", "Анна", "Мария", "Юлия", "Анастасия", "Дарья", "Ирина" };
                string[] femaleMiddleNames = { "Александровна", "Дмитриевна", "Сергеевна", "Андреевна", "Алексеевна", "Петровна", "Игоревна", "Владимировна" };

                Random rand = new Random();

                
                for (int i = 0; i < 20; i++)
                {
                    students[i] = new Student();

                    
                    if (rand.Next(0, 2) == 0)
                    {
                        students[i].Gender = "Юноша";
                        students[i].LastName = maleLastNames[rand.Next(maleLastNames.Length)];
                        students[i].FirstName = maleFirstNames[rand.Next(maleFirstNames.Length)];
                        students[i].MiddleName = maleMiddleNames[rand.Next(maleMiddleNames.Length)];
                    }
                    else
                    {
                        students[i].Gender = "Девушка";
                        students[i].LastName = femaleLastNames[rand.Next(femaleLastNames.Length)];
                        students[i].FirstName = femaleFirstNames[rand.Next(femaleFirstNames.Length)];
                        students[i].MiddleName = femaleMiddleNames[rand.Next(femaleMiddleNames.Length)];
                    }

                    
                    students[i].BirthDay = rand.Next(1, 29);
                    students[i].BirthMonth = rand.Next(1, 13);
                    students[i].BirthYear = rand.Next(2000, 2013); 

                    
                    students[i].Group = (rand.Next(0, 2) == 0) ? "Э-101" : "Т-202";
                }

                
                Console.WriteLine("Совершеннолетние студенты (на 2026 год):");
                foreach (Student st in students)
                {
                    if (st.GetAge(23, 10, 2026) >= 18)
                    {
                        Console.WriteLine(st.LastName + " " + st.FirstName + " " + st.MiddleName + ", Родился: " + st.BirthDay + "." + st.BirthMonth + "." + st.BirthYear);
                    }
                }
                Console.WriteLine();

                
                string targetGroup = "Э-101";
                Console.WriteLine("Студенты группы " + targetGroup + ":");
                foreach (Student st in students)
                {
                    if (st.Group == targetGroup)
                    {
                        Console.WriteLine(st.LastName + " " + st.FirstName + " " + st.MiddleName + ", Группа: " + st.Group);
                    }
                }
                Console.WriteLine();

                
                int girlsCount = 0;
                int boysCount = 0;

                foreach (Student st in students)
                {
                    if (st.Gender == "Девушка")
                    {
                        girlsCount++;
                    }
                    if (st.Gender == "Юноша")
                    {
                        boysCount++;
                    }
                }

                Console.WriteLine("Количество девушек: [" + girlsCount + "], количество юношей: [" + boysCount + "]");

            }
            catch (Exception ex)
            {
                // Задание 2 (Очередность 3): Блок catch, выводящий на консоль сообщение об ошибке
                Console.WriteLine("Возникла ошибка в программе: " + ex.Message);
            }

            Console.ReadKey();
        }
    }
}