Advertisement
illiden

CriminalDatabase

Jul 7th, 2020
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.78 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4.  
  5. namespace CriminalDatabase
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             int inputGrown;
  12.             int inputWeight;
  13.             Nationality inputNationaliry = Nationality.American;
  14.             bool work = true;
  15.             bool dataIsTrue = true;
  16.             List<Criminal> criminals = new List<Criminal> {
  17.                 new Criminal("Джозеф Болл", false, 160, 58, Nationality.American),
  18.                 new Criminal("Михаил Драганер", false, 182, 72, Nationality.Russian),
  19.                 new Criminal("Крис Бенуа", true, 190, 94, Nationality.Canadian),
  20.                 new Criminal("Чарльз Джексон", false, 154, 92, Nationality.American),
  21.                 new Criminal("Цутому Миядзаки", false, 156, 74, Nationality.Japanese),
  22.                 new Criminal("Гун Джуньбо", false, 160, 87, Nationality.Chinese),
  23.                 new Criminal("Богдан Хитрово", false, 160, 99, Nationality.Gypsy),
  24.                 new Criminal("Валерий Асратян", true, 185, 103, Nationality.Caucasian),
  25.                 new Criminal("Сафаров Рамиль", false, 191, 57, Nationality.Azerbaijani),
  26.             };
  27.  
  28.             while(work)
  29.             {
  30.                 dataIsTrue = true;
  31.                 Console.Write("Введите рост: ");
  32.                 inputGrown = Convert.ToInt32(Console.ReadLine());
  33.                 Console.Write("Введите вес: ");
  34.                 inputWeight = Convert.ToInt32(Console.ReadLine());
  35.                 Console.WriteLine("Выберите национальность: \n" +
  36.                     "1. Американец\n" +
  37.                     "2. Русский\n" +
  38.                     "3. Канадец\n" +
  39.                     "4. Японец\n" +
  40.                     "5. Китаец\n" +
  41.                     "6. Кавказец\n" +
  42.                     "7. Азербайджанец\n" +
  43.                     "8. Цыган");
  44.                 switch (Console.ReadLine())
  45.                 {
  46.                     case "1":
  47.                         inputNationaliry = Nationality.American;
  48.                         break;
  49.                     case "2":
  50.                         inputNationaliry = Nationality.Russian;
  51.                         break;
  52.                     case "3":
  53.                         inputNationaliry = Nationality.Canadian;
  54.                         break;
  55.                     case "4":
  56.                         inputNationaliry = Nationality.Japanese;
  57.                         break;
  58.                     case "5":
  59.                         inputNationaliry = Nationality.Chinese;
  60.                         break;
  61.                     case "6":
  62.                         inputNationaliry = Nationality.Caucasian;
  63.                         break;
  64.                     case "7":
  65.                         inputNationaliry = Nationality.Azerbaijani;
  66.                         break;
  67.                     case "8":
  68.                         inputNationaliry = Nationality.Gypsy;
  69.                         break;
  70.                     default:
  71.                         Console.WriteLine("Такой национальности нет в списке");
  72.                         dataIsTrue = false;
  73.                         break;
  74.                 }
  75.  
  76.                 if(dataIsTrue)
  77.                 {
  78.                     var filtredCriminals = criminals.Where(criminal => criminal.Growth == inputGrown &&
  79.                                                                    criminal.Weight == inputWeight &&
  80.                                                                    criminal.Nationality == inputNationaliry &&
  81.                                                                    criminal.IsDetetion == false);
  82.                     Console.Clear();
  83.                     Console.WriteLine("Полученный список преступников с параметрами росn - " + inputGrown +
  84.                                       ", вес - " + inputWeight +
  85.                                       ", национальность - " + TranslateNationality(inputNationaliry));
  86.                     foreach (var criminal in filtredCriminals)
  87.                     {
  88.                         Console.WriteLine(criminal.Name);
  89.                     }
  90.                 }
  91.  
  92.                 Console.WriteLine("Попробовать еще раз? д / н");
  93.                 switch (Console.ReadLine())
  94.                 {
  95.                     case "д":
  96.                         break;
  97.                     case "н":
  98.                         work = false;
  99.                         break;
  100.                     default:
  101.                         break;
  102.                 }
  103.                 Console.Clear();
  104.             }
  105.         }
  106.  
  107.         static string TranslateNationality(Nationality nationality)
  108.         {
  109.             string outputNationality = "";
  110.             switch(nationality)
  111.             {
  112.                 case Nationality.American:
  113.                     outputNationality = "Американец";
  114.                     break;
  115.                 case Nationality.Russian:
  116.                     outputNationality = "Русский";
  117.                     break;
  118.                 case Nationality.Canadian:
  119.                     outputNationality = "Канадец";
  120.                     break;
  121.                 case Nationality.Japanese:
  122.                     outputNationality = "Японец";
  123.                     break;
  124.                 case Nationality.Chinese:
  125.                     outputNationality = "Китаец";
  126.                     break;
  127.                 case Nationality.Caucasian:
  128.                     outputNationality = "Кавказец";
  129.                     break;
  130.                 case Nationality.Azerbaijani:
  131.                     outputNationality = "Азербайджанец";
  132.                     break;
  133.                 case Nationality.Gypsy:
  134.                     outputNationality = "Цыган";
  135.                     break;
  136.             }
  137.             return outputNationality;
  138.         }
  139.     }
  140.  
  141.     class Criminal
  142.     {
  143.         public string Name;
  144.         public bool IsDetetion;
  145.         public int Growth;
  146.         public int Weight;
  147.         public Nationality Nationality;
  148.  
  149.         public Criminal(string name, bool isDetection, int growth, int weight, Nationality nationality)
  150.         {
  151.             Name = name;
  152.             IsDetetion = isDetection;
  153.             Growth = growth;
  154.             Weight = weight;
  155.             Nationality = nationality;
  156.         }
  157.     }
  158.  
  159.     enum Nationality
  160.     {
  161.         American,
  162.         Russian,
  163.         Canadian,
  164.         Japanese,
  165.         Chinese,
  166.         Caucasian,
  167.         Azerbaijani,
  168.         Gypsy
  169.     }
  170. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement