RedFlys

Home work - soldiers data

Jan 21st, 2022
1,129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.86 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Home_Work
  8. {
  9.     class Program
  10.     {
  11.         static void Main()
  12.         {
  13.             Database database = new Database();
  14.             database.Work();
  15.         }
  16.     }
  17.  
  18.     class Database
  19.     {
  20.         private List<Soldier> _soldiers;
  21.  
  22.         public Database()
  23.         {
  24.             _soldiers = new List<Soldier>();
  25.             Fill();
  26.         }
  27.  
  28.         public void Work()
  29.         {
  30.             bool isWorking = true;
  31.             int number;
  32.  
  33.             while(isWorking == true)
  34.             {
  35.                 Console.WriteLine("Солдаты: ");
  36.                 ShowSoldiers();
  37.                 Console.WriteLine("\n1. Выбрать необходимые данные.\n2. Выход.");
  38.                 Console.Write("Введите команду: ");
  39.                 number = GetNumber();
  40.  
  41.                 switch (number)
  42.                 {
  43.                     case 1:
  44.                         ShowNeedData();
  45.                         break;                                          
  46.  
  47.                     case 2:
  48.                         isWorking = false;
  49.                         break;
  50.  
  51.                     default:
  52.                         Console.WriteLine("Неверная команда.");
  53.                         break;
  54.                 }
  55.  
  56.                 Console.ReadKey();
  57.                 Console.Clear();
  58.             }
  59.         }
  60.  
  61.         private int GetNumber()
  62.         {
  63.             bool isConverted = false;
  64.             int number = 0;
  65.             string userInput;
  66.  
  67.             while (isConverted == false)
  68.             {
  69.                 userInput = Console.ReadLine();
  70.                 isConverted = Int32.TryParse(userInput, out number);
  71.             }
  72.  
  73.             return number;
  74.         }
  75.  
  76.         private void ShowNeedData()
  77.         {
  78.             var soldiersData = from Soldier soldier in _soldiers select new
  79.             {
  80.                 Name = soldier.FullName,
  81.                 Rank = soldier.Rank
  82.             };
  83.  
  84.             foreach(var soldier in soldiersData)
  85.             {
  86.                 Console.WriteLine(soldier.Name + " - " + soldier.Rank);
  87.             }
  88.         }
  89.        
  90.         private void ShowSoldiers()
  91.         {
  92.             foreach (Soldier soldier in _soldiers)
  93.             {
  94.                 soldier.ShowInfo();
  95.             }
  96.         }
  97.  
  98.         private void Fill()
  99.         {
  100.             _soldiers.Add(new Soldier("Черёмушко Алексей Алексеевич"));
  101.             _soldiers.Add(new Soldier("Чер Дмитрий Алексеевич"));
  102.             _soldiers.Add(new Soldier("Альанах Алексей Дмитриевич"));
  103.             _soldiers.Add(new Soldier("Вассерман Анатолий Акашанович"));
  104.             _soldiers.Add(new Soldier("Шерлок Ди Холмс"));
  105.             _soldiers.Add(new Soldier("Макуночи Но Ипо"));
  106.             _soldiers.Add(new Soldier("Грозный Иван Васильевич"));
  107.             _soldiers.Add(new Soldier("Борн Дмитрий Анатольевич"));
  108.             _soldiers.Add(new Soldier("Навальный Владимир Владиславович"));
  109.             _soldiers.Add(new Soldier("Евпатий Калодратий"));
  110.             _soldiers.Add(new Soldier("Никто"));
  111.             _soldiers.Add(new Soldier("Андерсон Джон Викторович"));
  112.             _soldiers.Add(new Soldier("Самураев Душнила Тёмович"));
  113.         }
  114.     }
  115.  
  116.     class Soldier
  117.     {
  118.         private static Random _random;
  119.         private string _fullName;
  120.         private int _termOfMilitaryService;
  121.         private Weapon _weapon;
  122.         private Rank _rank;
  123.  
  124.         static Soldier()
  125.         {
  126.             _random = new Random();
  127.         }
  128.  
  129.         public Soldier(string fullName)
  130.         {
  131.             int maxTempService = 360;
  132.             int countWeapons = Enum.GetNames(typeof(Weapon)).Length;
  133.             int countRanks = Enum.GetNames(typeof(Rank)).Length;
  134.  
  135.             _fullName = fullName;
  136.             _termOfMilitaryService = _random.Next(maxTempService);
  137.             _weapon = (Weapon)_random.Next(countWeapons);
  138.             _rank = (Rank)_random.Next(countRanks);
  139.         }
  140.        
  141.         public string FullName => _fullName;
  142.         public Rank Rank => _rank;
  143.  
  144.         public void ShowInfo()
  145.         {
  146.             Console.WriteLine($"{_fullName}. Звание: {_rank}. Вооружение: {_weapon} Срок службы: {_termOfMilitaryService}.");
  147.         }
  148.     }
  149.  
  150.     enum Weapon
  151.     {
  152.        AK47,
  153.        AK102,
  154.        Glock19,
  155.        RPG,
  156.        M249
  157.     }
  158.  
  159.     enum Rank
  160.     {
  161.         Private,
  162.         Sergeant,
  163.         Сaptain,
  164.         Major,
  165.         General
  166.     }
  167. }
Advertisement
Add Comment
Please, Sign In to add comment