Tohir5258

LINQ_01

Nov 16th, 2025
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.74 KB | None | 0 0
  1. using System.Security.Cryptography.X509Certificates;
  2. using System.Linq;
  3.  
  4. namespace LINQ_01
  5. {
  6.     internal class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             CriminalDatabase criminalDatabase = new CriminalDatabase();
  11.  
  12.             double height = 0;
  13.             double weight = 0;
  14.  
  15.             bool isRunning = true;
  16.  
  17.             while (isRunning)
  18.             {
  19.                 Console.Write("Введите рост: ");
  20.                 string heightInput = Console.ReadLine().Replace('.', ',');
  21.  
  22.                 if (double.TryParse(heightInput, out height))
  23.                 {
  24.                     isRunning = false;
  25.                 }
  26.                 else
  27.                 {
  28.                     Console.WriteLine("Ошибка! Рост должен быть числом. Повторите ещё");
  29.                 }
  30.             }
  31.  
  32.             isRunning = true;
  33.  
  34.             while (isRunning)
  35.             {
  36.                 Console.Write("Введите вес: ");
  37.                 string weightInput = Console.ReadLine().Replace('.', ',');
  38.  
  39.                 if (double.TryParse(weightInput, out weight))
  40.                 {
  41.                     isRunning = false;
  42.                 }
  43.                 else
  44.                 {
  45.                     Console.WriteLine("Ошибка! Вес должен быть числом. Повторите ещё");
  46.                 }
  47.             }
  48.  
  49.             Console.Write("Введите Национальность: ");
  50.             string nationalityInput = Console.ReadLine();
  51.  
  52.             List<Criminal> criminalResults = criminalDatabase.FindCriminals(height, weight, nationalityInput);
  53.  
  54.             if (criminalResults.Count > 0)
  55.             {
  56.                 Console.WriteLine("Найденные преступники:");
  57.  
  58.                 foreach (Criminal criminal in criminalResults)
  59.                 {
  60.                     Console.WriteLine(criminal);
  61.                 }
  62.             }
  63.             else
  64.             {
  65.                 Console.WriteLine("По вашему запросу преступники не найдены.");
  66.             }
  67.         }
  68.  
  69.     }
  70.  
  71.     public class Criminal
  72.     {
  73.         public Criminal(string lastName, string firstName,
  74.                         string parentName, bool incarcerated,
  75.                         double height, double weight,
  76.                         string nationality)
  77.         {
  78.             LastName = lastName;
  79.             FirstName = firstName;
  80.             ParentName = parentName;
  81.             Incarcerated = incarcerated;
  82.             Height = height;
  83.             Weight = weight;
  84.             Nationality = nationality;
  85.         }
  86.  
  87.         public string LastName { get; }
  88.         public string FirstName { get; }
  89.         public string ParentName { get; }
  90.         public bool Incarcerated { get; }
  91.         public double Height { get; }
  92.         public double Weight { get; }
  93.         public string Nationality { get; }
  94.  
  95.         public override string ToString()
  96.         {
  97.             string acceptResult = Incarcerated ? "Да" : "Нет";
  98.             return $"ФИО: {LastName} {FirstName} {ParentName} (Рост: {Height}, Вес: {Weight}, В заключении: {acceptResult})";
  99.         }
  100.     }
  101.  
  102.     public class CriminalDatabase
  103.     {
  104.         private List<Criminal> _criminals = new List<Criminal>()
  105.         {
  106.             new Criminal("Иванов", "Иван", "Иванович", false, 180.0, 85.5, "Русский"),
  107.             new Criminal("Петров", "Сергей", "Алексеевич", false, 175.0, 79.0, "Русский"),
  108.             new Criminal("Smith", "John", "Michael", false, 185.0, 92.1, "Американец"),
  109.             new Criminal("Müller", "Hans", "Georg", false, 185.0, 90.0, "Немец"),
  110.             new Criminal("Сидоров", "Алексей", "Петрович", true, 180.0, 85.5, "Русский"),
  111.             new Criminal("Garcia", "Carlos", "Luis", true, 170.0, 75.0, "Испанец"),
  112.             new Criminal("Kim", "Min-jun", "", true, 172.0, 68.0, "Кореец"),
  113.             new Criminal("Lee", "Myun-He", "", true, 170.0, 60.0, "Китаец")
  114.         };
  115.  
  116.         public List<Criminal> FindCriminals(double height, double weight, string nationality)
  117.         {
  118.             var foundCriminal = _criminals.Where(criminal => criminal.Height == height &&
  119.                                                              criminal.Weight == weight &&
  120.                                                              string.Equals(criminal.Nationality, nationality, StringComparison.OrdinalIgnoreCase) &&
  121.                                                              criminal.Incarcerated == false).ToList();
  122.  
  123.             return foundCriminal;
  124.         }
  125.     }
  126. }
  127.  
Tags: LINQ_01
Advertisement
Add Comment
Please, Sign In to add comment