Exemple #1
0
        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);
                }
            }
        }
Exemple #3
0
        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);
                }
            }
        }
Exemple #4
0
        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);
                }
            }
        }