Загрузка данных
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();
}
}
}