static void Main(string[] args) { Worker[] workers = new Worker[10]; Random random = new Random(); for (int i = 0; i < workers.Length; i++) { if (i % 2 == 0) { workers[i] = new FixedPayWorker($"Тес{i}ов{random.Next(i, i * i)}", $"Мих{random.Next(i, i * i)}ил{i}", (random.NextDouble() * 75000) + 15000); } else { workers[i] = new HourlyWorker($"Сми{i}ов{random.Next(i, i * i)}", $"Ви{random.Next(i, i * i)}тор{i}", (random.NextDouble() * 350) + 200); } } Array.Sort(workers); ArrayWorkers arrayWorkers = new ArrayWorkers(workers); foreach (var worker in arrayWorkers) { Console.WriteLine($"Сотрудник: {worker.LastName} {worker.FirstName}. Среднемесячная заработная плата: {worker.WagesPerMonth}"); } Console.ReadKey(); }
/// <summary>Заполняет массив случайными данными</summary> /// <param name="numberOfWorkers">Число сотрудников</param> public void Init(int numberOfWorkers) { workers = new BaseWorker[numberOfWorkers]; for (int i = 0; i < numberOfWorkers; i++) { switch (rand.Next(0, 2)) { case 0: workers[i] = new HourlyWorker("Имя_" + i, "Фамилия_" + i, Convert.ToSByte(rand.Next(18, 65))); break; case 1: workers[i] = new FixedWorker("Имя_" + i, "Фамилия_" + i, Convert.ToSByte(rand.Next(18, 65))); break; } if (workers[i] is HourlyWorker) { workers[i].CountSalary(rand.NextDouble() * (1000 - 150) + 150); } else if (workers[i] is FixedWorker) { workers[i].CountSalary(rand.NextDouble() * (150000 - 30000) + 30000); } } }
public ArrayWorkers(Worker[] sourceArray) { Lenght = sourceArray.Length; workers = new Worker[Lenght]; for (int i = 0; i < sourceArray.Length; i++) { if (sourceArray[i] is FixedPayWorker) { this[i] = new FixedPayWorker(sourceArray[i].LastName, sourceArray[i].FirstName, sourceArray[i].Salary); } else if (sourceArray[i] is HourlyWorker) { this[i] = new HourlyWorker(sourceArray[i].LastName, sourceArray[i].FirstName, sourceArray[i].Salary); } } }
public ArrayWorkers(int lenght) { Lenght = lenght; workers = new Worker[Lenght]; for (int i = 0; i < workers.Length; i++) { if (i % 2 == 0) { workers[i] = new FixedPayWorker($"Тес{i}ов{random.Next(i, i * i)}", $"Мих{random.Next(i, i * i)}ил{i}", (random.NextDouble() * 75000) + 15000); } else { workers[i] = new HourlyWorker($"Сми{i}ов{random.Next(i, i * i)}", $"Ви{random.Next(i, i * i)}тор{i}", (random.NextDouble() * 350) + 200); } } }