static void Main(string[] args) { do { Console.Clear(); int n; Console.Write("Enter n = "); int.TryParse(Console.ReadLine(), out n); Employee[] empls = new Employee[n]; string name = RandomString(rnd.Next(10000, 15000)); for (int i = 0; i < empls.Length; i++) { if (rnd.Next(0, 2) == 1) { empls[i] = new SalesEmployee(RandomString(rnd.Next(3, 7)), rnd.Next(10, 1000), rnd.Next(10, 1000)); } else { empls[i] = new PartTimeEmployee(RandomString(rnd.Next(3, 7)), rnd.Next(10, 1000), rnd.Next(10, 40)); } } for (int i = 0; i < empls.Length; i++) { Console.WriteLine(empls[i]); } Array.Sort(empls, (e1, e2) => e1.CalculatePay().CompareTo(e2.CalculatePay())); Console.WriteLine("***"); for (int i = 0; i < empls.Length; i++) { Console.WriteLine(empls[i]); } Console.WriteLine("***"); foreach (Employee employee in empls) { if (employee is SalesEmployee) { Console.WriteLine(employee.CalculatePay()); } } Console.WriteLine("***"); foreach (Employee employee in empls) { if (employee is PartTimeEmployee) { Console.WriteLine(employee.CalculatePay()); } } } while (Console.ReadKey().Key != ConsoleKey.Escape); }
static void Main(string[] args) { List <string> names = new List <string>() { "Alexey", "Ivan", "Dmitry", "Vladimir", "Oleg", "Andrey", "Maxim", "Victor", "Alexandr", "Vyacheslav" }; Random rand = new Random(); Employee[] employees = new Employee[10]; decimal[] arr = new decimal[10]; for (int i = 0; i < employees.Length; i++) { if (rand.Next(0, 2) == 0) { employees[i] = new SalesEmployee(names[rand.Next(0, names.Count)], (decimal)(rand.Next(10, 30) + rand.NextDouble()), (decimal)(rand.Next(10, 30) + rand.NextDouble())); names.Remove(employees[i].name); } else { employees[i] = new PartTimeEmployee(names[rand.Next(0, names.Count)], (decimal)(rand.Next(10, 30) + rand.NextDouble()), rand.Next(10, 30)); names.Remove(employees[i].name); } arr[i] = employees[i].CalculatePay(); } Array.Sort(arr, employees); Console.WriteLine("SaleEmployee:"); for (int i = employees.Length - 1; i >= 0; i--) { if (employees[i] is SalesEmployee) { Console.WriteLine(employees[i].name + " " + employees[i].CalculatePay().ToString("f3")); } } Console.WriteLine("PartTimeEmployee:"); for (int i = employees.Length - 1; i >= 0; i--) { if (employees[i] is PartTimeEmployee) { Console.WriteLine(employees[i].name + " " + employees[i].CalculatePay().ToString("f3")); } } }