Advertisement
NikaBang

Отчет об вооружении

Dec 18th, 2022 (edited)
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.02 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Linq;
  5.  
  6. internal class Program
  7. {
  8.     //Существует класс солдата.В нём есть поля: имя, вооружение, звание, срок службы(в месяцах).
  9.     //Написать запрос, при помощи которого получить набор данных состоящий из имени и звания.
  10.     //Вывести все полученные данные в консоль.
  11.     //(Не менее 5 записей)
  12.  
  13.     static void Main(string[] args)
  14.     {
  15.         Army army = new Army();
  16.         army.RunProgram();
  17.     }
  18.  
  19.     class Solder
  20.     {
  21.         public string Name { get; }
  22.         public string Armament { get; }
  23.         public string Rank { get; }
  24.         public int ServiceLife { get; }
  25.  
  26.         public Solder(string name, string armament, string rank, int serviceLife)
  27.         {
  28.             Name = name;
  29.             Armament = armament;
  30.             Rank = rank;
  31.             ServiceLife = serviceLife;
  32.         }
  33.  
  34.         public void ShowInfo()
  35.         {
  36.             Console.WriteLine($"Фамилия {Name}, войска {Armament}, звание {Rank}, срок службы {ServiceLife} месяцев.");
  37.         }
  38.     }
  39.  
  40.     class Army
  41.     {
  42.         private List<Solder> _solders;
  43.  
  44.         public Army()
  45.         {
  46.             _solders = new List<Solder>();
  47.  
  48.             Fill();
  49.         }
  50.  
  51.         public void RunProgram()
  52.         {
  53.             const string CommandPointOne = "1";
  54.             const string CommandPointTwo = "2";
  55.             const string CommandExitProgram = "Exit";
  56.             bool inProgram = true;
  57.  
  58.             while (inProgram)
  59.             {
  60.                 Console.Write($"{CommandPointOne} - Показать краткую информацию.\n{CommandPointTwo} - Показать полную информацию." +
  61.                     $"\n{CommandExitProgram} - Завершить программу.\nВведите команду: ");
  62.                 string userInput = Console.ReadLine();
  63.  
  64.                 switch (userInput)
  65.                 {
  66.                     case CommandPointOne:
  67.                         ShowShortInfoSolders();
  68.                         break;
  69.                     case CommandPointTwo:
  70.                         ShowInfoSolders();
  71.                         break;
  72.                     case CommandExitProgram:
  73.                         inProgram = false;
  74.                         break;
  75.                     default:
  76.                         Console.WriteLine("Ошибка ввода!");
  77.                         break;
  78.                 }
  79.  
  80.                 Console.ReadKey();
  81.                 Console.Clear();
  82.             }
  83.  
  84.             Console.WriteLine("Программа завершена.");
  85.         }
  86.  
  87.         private void ShowShortInfoSolders()
  88.         {
  89.             var newSolders = _solders.Select(solder => new
  90.             {
  91.                 Name = solder.Name,
  92.                 Rang = solder.Rank
  93.             });
  94.  
  95.             foreach (var solder in newSolders)
  96.             {
  97.                 Console.WriteLine($"Фамилия: {solder.Name}. Звание: {solder.Rang}.");
  98.             }
  99.         }
  100.  
  101.         private void ShowInfoSolders()
  102.         {
  103.             foreach (var solder in _solders)
  104.             {
  105.                 solder.ShowInfo();
  106.             }
  107.         }
  108.  
  109.         private void Fill()
  110.         {
  111.             Solder[] solders =
  112.             {
  113.                 new Solder("Иванов", "Танкист", "Рядовой", 4), new Solder("Баранов", "Танкист", "Старшина", 25), new Solder("Путин", "Моряк", "Рядовой", 6),
  114.                 new Solder("Чебурекин", "Связист", "Капитан", 40), new Solder("Тараненко", "Ракетчик", "Сержант", 18), new Solder("Собачка", "Десант", "Полковник", 120)
  115.             };
  116.  
  117.             _solders.AddRange(solders);
  118.         }
  119.     }
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement