Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- internal class Program
- {
- //Есть 2 списка в солдатами.
- //Всех бойцов из отряда 1, у которых фамилия начинается на букву Б, требуется перевести в отряд 2.
- static void Main(string[] args)
- {
- Army army = new Army();
- army.RunProgram();
- }
- class Solder
- {
- public string Name { get; }
- public string Armament { get; }
- public string Rank { get; }
- public int ServiceLife { get; }
- public Solder(string name, string armament, string rank, int serviceLife)
- {
- Name = name;
- Armament = armament;
- Rank = rank;
- ServiceLife = serviceLife;
- }
- public void ShowInfo()
- {
- Console.WriteLine($"Фамилия {Name}, войска {Armament}, звание {Rank}, срок службы {ServiceLife} месяцев.");
- }
- }
- class Army
- {
- private List<Solder> _squadOne;
- private List<Solder> _squadTwo;
- public Army()
- {
- _squadOne = new List<Solder>();
- _squadTwo = new List<Solder>();
- Fill();
- }
- public void RunProgram()
- {
- string commandPointOne = "1";
- string commandExitProgram = "Exit";
- bool inProgram = true;
- Console.WriteLine("Наша армия: ");
- foreach (var solder in _squadOne)
- {
- solder.ShowInfo();
- }
- while (inProgram)
- {
- Console.Write($"\n{commandPointOne} - Всех бойцов из отряда 1, у которых фамилия начинается на букву Б, требуется перевести в отряд 2." +
- $"\n{commandExitProgram} - Завершить программу.\nВведите команду: ");
- string userInput = Console.ReadLine();
- if (userInput == commandPointOne)
- {
- TransferSolder(_squadOne, _squadTwo);
- }
- else if (userInput == commandExitProgram)
- {
- Console.WriteLine("Программа завершена.");
- inProgram = false;
- }
- else
- {
- Console.WriteLine("Ошибка ввода!");
- }
- Console.ReadKey();
- Console.Clear();
- }
- }
- public void TransferSolder(List<Solder> squadFirst, List<Solder> squadSecond)
- {
- string controlChar = "Б";
- var sortingSolde = squadFirst.Where(solder => solder.Name.ToUpper().StartsWith(controlChar)).ToList();
- squadFirst = squadFirst.Except(sortingSolde).ToList();
- squadSecond = squadSecond.Union(sortingSolde).ToList();
- Console.WriteLine("Отряд №1:\n");
- foreach (var solder in squadFirst)
- {
- Console.WriteLine(solder.Name);
- }
- Console.WriteLine("\nОтряд№2: \n");
- foreach (var solder in squadSecond)
- {
- Console.WriteLine(solder.Name);
- }
- }
- private void Fill()
- {
- Solder[] solders =
- {
- new Solder("Иванов", "Танкист", "Рядовой", 4), new Solder("Баранов", "Танкист", "Старшина", 25), new Solder("Бутин", "Моряк", "Рядовой", 6),
- new Solder("Чебурекин", "Связист", "Капитан", 40), new Solder("Тараненко", "Ракетчик", "Сержант", 18), new Solder("Бабочка", "Десант", "Полковник", 120)
- };
- _squadOne.AddRange(solders);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement