Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Home_Work
- {
- class Program
- {
- static void Main()
- {
- Database database = new Database();
- database.Work();
- }
- }
- class Database
- {
- private List<Soldier> _soldiers;
- public Database()
- {
- _soldiers = new List<Soldier>();
- Fill();
- }
- public void Work()
- {
- bool isWorking = true;
- int number;
- while(isWorking == true)
- {
- Console.WriteLine("Солдаты: ");
- ShowSoldiers();
- Console.WriteLine("\n1. Выбрать необходимые данные.\n2. Выход.");
- Console.Write("Введите команду: ");
- number = GetNumber();
- switch (number)
- {
- case 1:
- ShowNeedData();
- break;
- case 2:
- isWorking = false;
- break;
- default:
- Console.WriteLine("Неверная команда.");
- break;
- }
- Console.ReadKey();
- Console.Clear();
- }
- }
- private int GetNumber()
- {
- bool isConverted = false;
- int number = 0;
- string userInput;
- while (isConverted == false)
- {
- userInput = Console.ReadLine();
- isConverted = Int32.TryParse(userInput, out number);
- }
- return number;
- }
- private void ShowNeedData()
- {
- var soldiersData = from Soldier soldier in _soldiers select new
- {
- Name = soldier.FullName,
- Rank = soldier.Rank
- };
- foreach(var soldier in soldiersData)
- {
- Console.WriteLine(soldier.Name + " - " + soldier.Rank);
- }
- }
- private void ShowSoldiers()
- {
- foreach (Soldier soldier in _soldiers)
- {
- soldier.ShowInfo();
- }
- }
- private void Fill()
- {
- _soldiers.Add(new Soldier("Черёмушко Алексей Алексеевич"));
- _soldiers.Add(new Soldier("Чер Дмитрий Алексеевич"));
- _soldiers.Add(new Soldier("Альанах Алексей Дмитриевич"));
- _soldiers.Add(new Soldier("Вассерман Анатолий Акашанович"));
- _soldiers.Add(new Soldier("Шерлок Ди Холмс"));
- _soldiers.Add(new Soldier("Макуночи Но Ипо"));
- _soldiers.Add(new Soldier("Грозный Иван Васильевич"));
- _soldiers.Add(new Soldier("Борн Дмитрий Анатольевич"));
- _soldiers.Add(new Soldier("Навальный Владимир Владиславович"));
- _soldiers.Add(new Soldier("Евпатий Калодратий"));
- _soldiers.Add(new Soldier("Никто"));
- _soldiers.Add(new Soldier("Андерсон Джон Викторович"));
- _soldiers.Add(new Soldier("Самураев Душнила Тёмович"));
- }
- }
- class Soldier
- {
- private static Random _random;
- private string _fullName;
- private int _termOfMilitaryService;
- private Weapon _weapon;
- private Rank _rank;
- static Soldier()
- {
- _random = new Random();
- }
- public Soldier(string fullName)
- {
- int maxTempService = 360;
- int countWeapons = Enum.GetNames(typeof(Weapon)).Length;
- int countRanks = Enum.GetNames(typeof(Rank)).Length;
- _fullName = fullName;
- _termOfMilitaryService = _random.Next(maxTempService);
- _weapon = (Weapon)_random.Next(countWeapons);
- _rank = (Rank)_random.Next(countRanks);
- }
- public string FullName => _fullName;
- public Rank Rank => _rank;
- public void ShowInfo()
- {
- Console.WriteLine($"{_fullName}. Звание: {_rank}. Вооружение: {_weapon} Срок службы: {_termOfMilitaryService}.");
- }
- }
- enum Weapon
- {
- AK47,
- AK102,
- Glock19,
- RPG,
- M249
- }
- enum Rank
- {
- Private,
- Sergeant,
- Сaptain,
- Major,
- General
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment