Advertisement
IGRODELOFF

Task57

Sep 3rd, 2022
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.43 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 Task57
  8. {
  9.     internal class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             Archive archive = new Archive();
  14.             archive.Work();
  15.         }
  16.     }
  17.  
  18.     class Archive
  19.     {
  20.         private List<Soldier> _firstSquad;
  21.         private List<Soldier> _secondSquad;
  22.  
  23.         public Archive()
  24.         {
  25.             _firstSquad = new List<Soldier>();
  26.             _secondSquad = new List<Soldier>();
  27.             _firstSquad.Add(new Soldier("Артёмов", "Рядовой"));
  28.             _firstSquad.Add(new Soldier("Игорев", "Младший лейтенант"));
  29.             _firstSquad.Add(new Soldier("Максимов", "Капитан"));
  30.             _firstSquad.Add(new Soldier("Константинов", "Полковник"));
  31.             _firstSquad.Add(new Soldier("Алексеев", "Ефрейтор"));
  32.             _secondSquad.Add(new Soldier("Андреев", "Капитан"));
  33.             _secondSquad.Add(new Soldier("Колесников", "Полковник"));
  34.             _secondSquad.Add(new Soldier("Владыкин", "Рядовой"));
  35.             _secondSquad.Add(new Soldier("Коломойко", "Младший лейтенант"));
  36.             _secondSquad.Add(new Soldier("Артов", "Ефрейтор"));
  37.         }
  38.  
  39.         public void Work()
  40.         {
  41.             string firstSquad =
  42.                 "Состав первого отряда: ";
  43.             string secondSquad =
  44.                 "Состав второго отряда: ";
  45.             string transferSoldier =
  46.                 "Перевод солдат из 1-ого отряда во 2-ой";
  47.             string separator =
  48.                 "======================================";
  49.  
  50.  
  51.             Console.WriteLine(firstSquad);
  52.             Show(_firstSquad);
  53.             Console.WriteLine(separator);
  54.  
  55.             Console.WriteLine(secondSquad);
  56.             Show(_secondSquad);
  57.             Console.WriteLine(separator);
  58.  
  59.             Console.WriteLine(transferSoldier);
  60.             TransferSoldier();
  61.             Console.WriteLine(separator);
  62.  
  63.             Console.WriteLine(firstSquad);
  64.             Show(_firstSquad);
  65.             Console.WriteLine(separator);
  66.  
  67.             Console.WriteLine(secondSquad);
  68.             Show(_secondSquad);
  69.             Console.WriteLine(separator);
  70.         }
  71.  
  72.         private void TransferSoldier()
  73.         {
  74.             var soldiers = _firstSquad.Where(soldier => soldier.Name.Contains("А"));
  75.             _secondSquad = _secondSquad.Union(soldiers).ToList();
  76.             _firstSquad = _firstSquad.Except(soldiers).ToList();
  77.         }
  78.  
  79.         private void Show(List<Soldier> soldiers)
  80.         {
  81.             foreach (var soldier in soldiers)
  82.             {
  83.                 soldier.Show();
  84.             }
  85.         }
  86.     }
  87.  
  88.     class Soldier
  89.     {
  90.         public string Name { get; private set; }
  91.         public string Title { get; private set; }
  92.  
  93.         public Soldier(string name, string title)
  94.         {
  95.             Name = name;
  96.             Title = title;
  97.         }
  98.  
  99.         public void Show()
  100.         {
  101.             Console.WriteLine(
  102.                     $"Карточка солдата:\n" +
  103.                     $"Имя: {Name}\n" +
  104.                     $"Звание: {Title}\n");
  105.         }
  106.     }
  107. }
  108.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement