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 DetectiveApp
- {
- class Program
- {
- static void Main(string[] args)
- {
- DetectiveApp detectiveApp = new DetectiveApp();
- detectiveApp.Work();
- Console.ReadKey();
- }
- }
- class DetectiveApp
- {
- private List<Criminal> _criminals = new List<Criminal>();
- public DetectiveApp()
- {
- Fill();
- }
- public void Work()
- {
- int weight;
- int height;
- string nationality;
- Console.WriteLine("Input weight:");
- weight = GetNumber();
- Console.WriteLine("Input height:");
- height = GetNumber();
- Console.WriteLine("Input nationality:");
- nationality = Console.ReadLine().ToUpper();
- ShowFilteredCriminals(weight, height, nationality);
- }
- private void ShowFilteredCriminals(int weight, int height, string nationality)
- {
- var filteredCriminals = _criminals.Where(criminal => criminal.Weight == weight && criminal.Height == height && criminal.Nationality.ToUpper() == nationality && criminal.InDetention == false);
- if (filteredCriminals.Count() == 0)
- {
- Console.WriteLine("Such a criminal not been found");
- }
- else
- {
- foreach (var criminal in filteredCriminals)
- {
- criminal.ShowInfo();
- }
- }
- }
- private int GetNumber()
- {
- int number;
- while (int.TryParse(Console.ReadLine(), out number) == false)
- {
- Console.Write("Input number: ");
- }
- return number;
- }
- private void Fill()
- {
- _criminals.Add(new Criminal("Kyle Shelton", Nationality.Albanian, 170, 70, true));
- _criminals.Add(new Criminal("Oscar Miles", Nationality.French, 175, 65, false));
- _criminals.Add(new Criminal("Bobby Fletcher", Nationality.French, 180, 79, true));
- _criminals.Add(new Criminal("Mario Newton", Nationality.Greek, 165, 57, false));
- _criminals.Add(new Criminal("Tristan Erickson", Nationality.Italian, 190, 73, false));
- _criminals.Add(new Criminal("Andy Larkin ", Nationality.Brazilian, 175, 63, true));
- }
- }
- class Criminal
- {
- private Nationality _nationality;
- public string FullName { get; private set; }
- public int Height { get; private set; }
- public int Weight { get; private set; }
- public bool InDetention { get; private set; }
- public string Nationality => _nationality.ToString();
- public Criminal(string name, Nationality nationality, int height, int weight, bool inDetention = false)
- {
- FullName = name;
- _nationality = nationality;
- Height = height;
- Weight = weight;
- InDetention = inDetention;
- }
- public void ShowInfo()
- {
- Console.WriteLine($"Full name - {FullName}, Nationality - {_nationality}, Height - {Height}, Weight - {Weight}, InDetention - {InDetention}");
- }
- }
- enum Nationality
- {
- Albanian,
- Brazilian,
- Cuban,
- French,
- Greek,
- Italian
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment