vovanhik_24

56

Aug 12th, 2025 (edited)
378
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.78 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace Army
  6. {
  7.     public class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             SoldierService service = new SoldierService();
  12.             service.Run();
  13.         }
  14.     }
  15.  
  16.     public class Soldier
  17.     {
  18.         public Soldier(string name, string weapon, string rank, int serviceTerm)
  19.         {
  20.             Name = name;
  21.             Weapon = weapon;
  22.             Rank = rank;
  23.             ServiceTerm = serviceTerm;
  24.         }
  25.  
  26.         public string Name { get; private set; }
  27.         public string Weapon { get; private set; }
  28.         public string Rank { get; private set; }
  29.         public int ServiceTerm { get; private set; }
  30.     }
  31.  
  32.     public class SoldierCreator
  33.     {
  34.         public List<Soldier> CreateSoldiers()
  35.         {
  36.             return new List<Soldier>
  37.             {
  38.                 new Soldier("Иванов Иван", "Автомат", "Рядовой", 12),
  39.                 new Soldier("Петров Петр", "Пулемет", "Сержант", 24),
  40.                 new Soldier("Сидоров Сидор", "Снайперская винтовка", "Старший сержант", 36),
  41.                 new Soldier("Кузнецов Алексей", "Пистолет", "Лейтенант", 48),
  42.                 new Soldier("Смирнов Дмитрий", "Гранатомет", "Капитан", 60),
  43.                 new Soldier("Васильев Артем", "Автомат", "Рядовой", 10),
  44.                 new Soldier("Морозов Павел", "Пулемет", "Сержант", 18),
  45.             };
  46.         }
  47.     }
  48.  
  49.     public class SoldierService
  50.     {
  51.         private readonly List<Soldier> _soldiers;
  52.  
  53.         public SoldierService()
  54.         {
  55.             SoldierCreator creator = new SoldierCreator();
  56.             _soldiers = creator.CreateSoldiers();
  57.         }
  58.  
  59.         public void Run()
  60.         {
  61.             const string CommandToShowNamesAndRanks = "1";
  62.             const string CommandToExit = "2";
  63.  
  64.             bool isRunning = true;
  65.  
  66.             while (isRunning)
  67.             {
  68.                 Console.Clear();
  69.                 Console.WriteLine("Меню:");
  70.                 Console.WriteLine($"{CommandToShowNamesAndRanks}. Показать имена и звания всех солдат");
  71.                 Console.WriteLine($"{CommandToExit}. Выход");
  72.                 Console.Write("Выберите пункт меню: ");
  73.  
  74.                 string userInput = Console.ReadLine();
  75.  
  76.                 switch (userInput)
  77.                 {
  78.                     case CommandToShowNamesAndRanks:
  79.                         ShowNamesAndRanks();
  80.                         break;
  81.  
  82.                     case CommandToExit:
  83.                         isRunning = false;
  84.                         break;
  85.  
  86.                     default:
  87.                         Console.WriteLine("Некорректный ввод. Попробуйте снова.");
  88.                         break;
  89.                 }
  90.  
  91.                 if (isRunning)
  92.                 {
  93.                     Pause();
  94.                 }
  95.             }
  96.         }
  97.  
  98.         private void ShowNamesAndRanks()
  99.         {
  100.             var nameAndRank = _soldiers.Select(soldier => new { soldier.Name, soldier.Rank }).ToList();
  101.  
  102.             Console.WriteLine("\nИмена и звания всех солдат:");
  103.             foreach (var person in nameAndRank)
  104.             {
  105.                 Console.WriteLine($"{person.Name}, звание: {person.Rank}");
  106.             }
  107.         }
  108.  
  109.         private void Pause()
  110.         {
  111.             Console.WriteLine("\nНажмите любую клавишу для продолжения...");
  112.             Console.ReadKey();
  113.         }
  114.     }
  115. }
Advertisement
Add Comment
Please, Sign In to add comment