Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace CSLightFirst
- {
- class Program
- {
- private static void Main()
- {
- List<Soldier> firstSoldiers = GenerateSoldiers();
- List<Soldier> secondSoldiers = GenerateSoldiers();
- while (true)
- {
- Console.WriteLine("Выберите, что Вам нужно сделать:\n" +
- " 1 - Перевести бойцов из 1 отряда во второй\n" +
- " 2 - Показать первый отряд военных\n" +
- " 3 - Показать второй отряд военных\n");
- Console.Write("Ваш ответ: ");
- switch (Console.ReadLine())
- {
- case "1":
- secondSoldiers = UnionSoldiers(firstSoldiers, secondSoldiers);
- firstSoldiers = firstSoldiers.Where(soldier => !soldier.Surname.StartsWith("Б")).ToList();
- Console.Clear();
- break;
- case "2":
- ShowAllSoldiers(firstSoldiers);
- break;
- case "3":
- ShowAllSoldiers(secondSoldiers);
- break;
- default:
- Console.WriteLine("Некорректное введенное значение, попробуйте ещё раз...");
- break;
- }
- }
- }
- private static List<Soldier> UnionSoldiers(IEnumerable<Soldier> firstSoldiers, IEnumerable<Soldier> secondSoldiers)
- {
- IEnumerable<Soldier> selection = firstSoldiers.Where(soldier => soldier.Surname.StartsWith("Б"));
- return secondSoldiers.Union(selection).ToList();
- }
- private static void ShowAllSoldiers(List<Soldier> soldiers)
- {
- Console.Clear();
- Console.WriteLine("Полный список военных:\n");
- foreach (Soldier soldier in soldiers)
- soldier.ShowInfo();
- }
- private static List<Soldier> GenerateSoldiers()
- {
- Random rand = new Random();
- string[] names = { "Джон", "Хью", "Энн", "Джек", "Уил", "Марк", "Лиз", "Майкл", "Дэвис" };
- string[] surnames = { "Брукс", "Морган", "Смит", "Браун", "Белл", "Сноу", "Миллер", "Борк" };
- string[] rank = { "Лейтенант", "Майор", "Капитан", "Сержант", "Генерал", "Полковник", "Рядовой" };
- List<Soldier> soldiers = new List<Soldier>(rand.Next(5, 8));
- for (int i = 0; i < soldiers.Capacity; i++)
- soldiers.Add(new Soldier(
- names[rand.Next(0, names.Length)],
- surnames[rand.Next(0, surnames.Length)],
- rank[rand.Next(0, rank.Length)]));
- return soldiers;
- }
- }
- class Soldier
- {
- public string Name { get; }
- public string Surname { get; }
- public string Rank { get; }
- public Soldier(string name, string surname, string rank)
- {
- Name = name;
- Surname = surname;
- Rank = rank;
- }
- public void ShowInfo()
- {
- Console.WriteLine($" Солдат: {Name} {Surname}\n Звание: {Rank}\n");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement