Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Security.Cryptography.X509Certificates;
- using System.Linq;
- namespace LINQ_01
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- CriminalDatabase criminalDatabase = new CriminalDatabase();
- double height = 0;
- double weight = 0;
- bool isRunning = true;
- while (isRunning)
- {
- Console.Write("Введите рост: ");
- string heightInput = Console.ReadLine().Replace('.', ',');
- if (double.TryParse(heightInput, out height))
- {
- isRunning = false;
- }
- else
- {
- Console.WriteLine("Ошибка! Рост должен быть числом. Повторите ещё");
- }
- }
- isRunning = true;
- while (isRunning)
- {
- Console.Write("Введите вес: ");
- string weightInput = Console.ReadLine().Replace('.', ',');
- if (double.TryParse(weightInput, out weight))
- {
- isRunning = false;
- }
- else
- {
- Console.WriteLine("Ошибка! Вес должен быть числом. Повторите ещё");
- }
- }
- Console.Write("Введите Национальность: ");
- string nationalityInput = Console.ReadLine();
- List<Criminal> criminalResults = criminalDatabase.FindCriminals(height, weight, nationalityInput);
- if (criminalResults.Count > 0)
- {
- Console.WriteLine("Найденные преступники:");
- foreach (Criminal criminal in criminalResults)
- {
- Console.WriteLine(criminal);
- }
- }
- else
- {
- Console.WriteLine("По вашему запросу преступники не найдены.");
- }
- }
- }
- public class Criminal
- {
- public Criminal(string lastName, string firstName,
- string parentName, bool incarcerated,
- double height, double weight,
- string nationality)
- {
- LastName = lastName;
- FirstName = firstName;
- ParentName = parentName;
- Incarcerated = incarcerated;
- Height = height;
- Weight = weight;
- Nationality = nationality;
- }
- public string LastName { get; }
- public string FirstName { get; }
- public string ParentName { get; }
- public bool Incarcerated { get; }
- public double Height { get; }
- public double Weight { get; }
- public string Nationality { get; }
- public override string ToString()
- {
- string acceptResult = Incarcerated ? "Да" : "Нет";
- return $"ФИО: {LastName} {FirstName} {ParentName} (Рост: {Height}, Вес: {Weight}, В заключении: {acceptResult})";
- }
- }
- public class CriminalDatabase
- {
- private List<Criminal> _criminals = new List<Criminal>()
- {
- new Criminal("Иванов", "Иван", "Иванович", false, 180.0, 85.5, "Русский"),
- new Criminal("Петров", "Сергей", "Алексеевич", false, 175.0, 79.0, "Русский"),
- new Criminal("Smith", "John", "Michael", false, 185.0, 92.1, "Американец"),
- new Criminal("Müller", "Hans", "Georg", false, 185.0, 90.0, "Немец"),
- new Criminal("Сидоров", "Алексей", "Петрович", true, 180.0, 85.5, "Русский"),
- new Criminal("Garcia", "Carlos", "Luis", true, 170.0, 75.0, "Испанец"),
- new Criminal("Kim", "Min-jun", "", true, 172.0, 68.0, "Кореец"),
- new Criminal("Lee", "Myun-He", "", true, 170.0, 60.0, "Китаец")
- };
- public List<Criminal> FindCriminals(double height, double weight, string nationality)
- {
- var foundCriminal = _criminals.Where(criminal => criminal.Height == height &&
- criminal.Weight == weight &&
- string.Equals(criminal.Nationality, nationality, StringComparison.OrdinalIgnoreCase) &&
- criminal.Incarcerated == false).ToList();
- return foundCriminal;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment