Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save EreminAndrei/a0e63c56db4af718995914861e2c3b15 to your computer and use it in GitHub Desktop.
Save EreminAndrei/a0e63c56db4af718995914861e2c3b15 to your computer and use it in GitHub Desktop.
using System;
using System.Collections.Generic;
using System.Linq;
namespace Project3
{
internal class Program
{
static void Main(string[] args)
{
SolderDatabase solderDatabase = new SolderDatabase();
solderDatabase.Work();
}
}
class UserUtils
{
private static Random s_random = new Random();
public static int GenerateRandomNumber(int min, int max)
{
return s_random.Next(min, max);
}
}
class SolderDatabase
{
private List<Solder> _solders;
public SolderDatabase()
{
int maxNumberOfSolders = 25;
int minPeriodOfService = 1;
int maxPeriodOfService = 25;
List<Solder> solders = new List<Solder>();
string[] names = new string[] {"Борис", "Вадим", "Андрей", "Денис", "Петр", "Антон", "Иван", "Сергей", "Семен"};
string[] weapons = new string[] {"Автомат", "Пулемет", "Гранатомет", "Танк", "САУ", "Пистолет"};
string[] ranks = new string[] {"Рядовой", "Лейтенант", "Капитан", "Майор", "Полковник", "Подполковник" };
for (int i = 0; i < maxNumberOfSolders; i++)
{
solders.Add(new Solder(names[UserUtils.GenerateRandomNumber(0, names.Length)], weapons[UserUtils.GenerateRandomNumber(0, weapons.Length)],
ranks[UserUtils.GenerateRandomNumber(0, ranks.Length)], UserUtils.GenerateRandomNumber(minPeriodOfService, maxPeriodOfService)));
}
_solders = solders;
}
public void Work()
{
Console.WriteLine("Добро пожаловать в базу солдат.");
ShowAllInfo(_solders);
Console.WriteLine();
ShowNameAndRank();
}
private void ShowNameAndRank()
{
var namesAndRanks = from Solder solder in _solders select new { Name = solder.Name, Rank = solder.Rank };
foreach (var name in namesAndRanks)
{
Console.WriteLine($"Имя: {name.Name}, Звание: {name.Rank}");
}
}
private void ShowAllInfo(List<Solder> solders)
{
foreach (var solder in solders)
{
solder.ShowInfo();
}
Console.WriteLine();
}
}
class Solder
{
public Solder(string name, string weapon, string rank, int militaryServicePeriod)
{
Name = name;
Weapon = weapon;
Rank = rank;
MilitaryServicePeriod = militaryServicePeriod;
}
public string Name { get; private set; }
public string Weapon { get; private set; }
public string Rank { get; private set; }
public int MilitaryServicePeriod { get; private set; }
public void ShowInfo()
{
Console.WriteLine($"Имя: {Name}, Оружие: {Weapon}, Звание: {Rank}, Срок службы: {MilitaryServicePeriod}");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment