Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace SearchCriminal
- {
- class Program
- {
- static void Main(string[] args)
- {
- Menu menu = new Menu();
- menu.Run();
- }
- }
- class Menu
- {
- private Criminal _wanted;
- private List<Criminal> _wantedCriminals;
- private List<Criminal> _criminals;
- public Menu()
- {
- _wanted = null;
- _wantedCriminals = null;
- _criminals = new List<Criminal>()
- {
- new Criminal("Bob A.S.", "Russian", false, 80, 180),
- new Criminal("Anna T", "Frenchman", true, 60, 170),
- new Criminal("Michael P", "American", false, 100, 190),
- new Criminal("Largus V", "German", false, 120, 185)
- };
- }
- public void Run()
- {
- bool isRun = true;
- while(isRun)
- {
- Console.WriteLine("[1] - ввести информацию о разыскиваемом\n" +
- "[2] - показать список подозреваемых");
- Console.Write("Ввод: ");
- switch (Console.ReadLine())
- {
- case "1":
- SearchWanted();
- break;
- case "2":
- ShowWantedCriminals();
- break;
- case "3":
- isRun = false;
- break;
- }
- }
- }
- private void SearchWanted()
- {
- Console.Write("Введите ФИО приступника: ");
- string fullName = Console.ReadLine();
- Console.Write("Введите национальность: ");
- string nationality = Console.ReadLine();
- Console.Write("Введите вес: ");
- if (IsInputVerified(out int weight) == false)
- {
- return;
- }
- Console.Write("Введите рост: ");
- if(IsInputVerified(out int height) == false)
- {
- return;
- }
- _wanted = new Criminal(fullName, nationality , false, weight, height);
- var filteredCriminals = _criminals.Where(criminal => criminal.IsImprisoned == false
- && criminal.FullName == _wanted.FullName
- && criminal.Nationality == _wanted.Nationality
- && criminal.Height == _wanted.Height
- && criminal.Weight == _wanted.Weight);
- _wantedCriminals = filteredCriminals.ToList();
- }
- private void ShowWantedCriminals()
- {
- if(_wanted == null)
- {
- Console.WriteLine("Нет информации о подозреваемом!");
- return;
- }
- Console.WriteLine($"Хар-ка Подозреваемого: Имя: {_wanted.FullName}; Национальность: {_wanted.Nationality}; " +
- $"Рост: {_wanted.Height}; Вес: {_wanted.Weight}");
- Console.WriteLine("Подходящие подозреваемые: ");
- foreach (var criminal in _wantedCriminals)
- {
- Console.WriteLine($"Имя: {criminal.FullName}; Национальность: {criminal.Nationality}; " +
- $"Рост: {criminal.Height}; Вес: {criminal.Weight}");
- }
- }
- private bool IsInputVerified(out int userInput)
- {
- if(int.TryParse(Console.ReadLine(), out userInput) == false)
- {
- Console.WriteLine("Ошибка ввода!");
- return false;
- }
- return true;
- }
- }
- class Criminal
- {
- public string FullName { get; private set; }
- public string Nationality { get; private set; }
- public bool IsImprisoned { get; private set; }
- public int Weight { get; private set; }
- public int Height { get; private set; }
- public Criminal(string fullName, string nationality, bool isImprisoned, int weight, int height)
- {
- FullName = fullName;
- Nationality = nationality;
- IsImprisoned = isImprisoned;
- Weight = weight;
- Height = height;
- }
- public void Imprison()
- {
- IsImprisoned = true;
- }
- public void ReleaseFromPrison()
- {
- IsImprisoned = false;
- }
- }
- }
Add Comment
Please, Sign In to add comment