Advertisement
Fle2x

7.1

Jul 15th, 2021
948
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.81 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. namespace _7._1
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             Database database = new Database();
  11.  
  12.             database.AddCriminal(new Criminal ("Петя", false, 150, 70, "Русский"));
  13.             database.AddCriminal(new Criminal ("Артем", false, 150, 70, "Русский"));
  14.             database.AddCriminal(new Criminal ("Женька", true, 150, 70, "Русский"));
  15.             database.AddCriminal(new Criminal ("Герман", true, 160, 80, "Немец"));
  16.             database.AddCriminal(new Criminal ("Ян", false, 140, 50, "Китаец"));
  17.             database.AddCriminal(new Criminal ("Роберт", true, 180, 90, "Братанец"));
  18.             database.AddCriminal(new Criminal ("Саул", false, 170, 70, "Казах"));
  19.             database.AddCriminal(new Criminal ("Олег", true, 165, 70, "Кореец"));
  20.  
  21.             Console.WriteLine("Список всех заключенных:\n");
  22.             database.ShowAllCriminals();
  23.  
  24.             Console.WriteLine("\nВведите рост:");
  25.             int height = Convert.ToInt32(Console.ReadLine());
  26.  
  27.             Console.WriteLine("Введите вес:");
  28.             int weight = Convert.ToInt32(Console.ReadLine());
  29.  
  30.             Console.WriteLine("Введите национальность:");
  31.             string nationality = Convert.ToString(Console.ReadLine().ToUpper());
  32.  
  33.             database.FindCriminals(height, weight, nationality);
  34.  
  35.             Console.ReadKey();
  36.         }
  37.     }
  38.  
  39.     class Criminal
  40.     {
  41.         public string Fullname { get; private set; }
  42.         public bool IsPrisoned{ get; private set; }
  43.         public int Height { get; private set; }
  44.  
  45.         public int Weight { get; private set; }
  46.         public string Nationality { get; private set; }
  47.  
  48.         public Criminal(string fullname, bool isPrisioner, int height, int weight, string nationality)
  49.         {
  50.             Fullname = fullname;
  51.             IsPrisoned = isPrisioner;
  52.             Height = height;
  53.             Weight = weight;
  54.             Nationality = nationality.ToUpper();
  55.         }
  56.  
  57.         public void ShowInfo()
  58.         {
  59.             Console.WriteLine($"ФИО: {Fullname}. Рост: {Height}. Вес: {Weight}. Национальность: {Nationality}");
  60.         }
  61.     }
  62.  
  63.     class Database
  64.     {
  65.         private List<Criminal> _criminals;
  66.  
  67.         public Database() {
  68.             _criminals = new List<Criminal>();
  69.         }
  70.  
  71.         public void AddCriminal(Criminal criminal)
  72.         {
  73.             _criminals.Add(criminal);
  74.         }
  75.  
  76.         public void ShowAllCriminals()
  77.         {
  78.             foreach (var criminal in _criminals)
  79.             {
  80.                 criminal.ShowInfo();
  81.             }
  82.         }
  83.  
  84.         public void FindCriminals(int height, int weight, string nationality)
  85.         {
  86.             var filteredCriminals = from Criminal crimanals in _criminals
  87.                                     where crimanals.Height == height &&
  88.                                           crimanals.Weight == weight &&
  89.                                           crimanals.IsPrisoned == false &&
  90.                                           crimanals.Nationality == nationality.ToUpper()
  91.                                     select crimanals;
  92.  
  93.             Console.WriteLine("\nРезультат поиска: ");
  94.             if (filteredCriminals.Any())
  95.             {
  96.                 foreach (var criminal in filteredCriminals)
  97.                 {
  98.  
  99.                     criminal.ShowInfo();
  100.                 }
  101.             }
  102.             else
  103.             {
  104.                 Console.WriteLine("По вашему запросу нет результатов");
  105.             }
  106.         }
  107.     }
  108. }
  109.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement