예제 #1
0
        static void Main(string[] args)
        {
            Associate        a   = new Associate();
            List <Associate> Ass = new List <Associate>();

            bool y = true;

            while (y)
            {
                Console.Clear();
                Console.WriteLine("Выберете операцию:");
                Console.WriteLine("1. Добавить сотрудника");
                Console.WriteLine("2. Удалить сотрудника по индексу");
                Console.WriteLine("3. Вывести всех сотрудников");
                Console.WriteLine("4. Вывести сотрудников, у которых в фамилии есть введенные символы");
                Console.WriteLine("5. Отсортировать коллекцию по возрасту сотрудников");
                Console.WriteLine("6. Отсортировать по фамилии");
                int n = 0;
                n = Int32.Parse(Console.ReadLine());
                switch (n)
                {
                case 1:
                {
                    Ass.Add(a.AddAssociate());
                    break;
                }

                case 2:
                {
                    if (a.check(Ass) == 0)
                    {
                        break;
                    }
                    Console.WriteLine("Введите индекс сотрудника");
                    Ass.RemoveAt(Int32.Parse(Console.ReadLine()));

                    break;
                }

                case 3:
                {
                    if (a.check(Ass) == 0)
                    {
                        break;
                    }
                    foreach (Associate s in Ass)
                    {
                        Console.WriteLine(s.Show());
                    }
                    break;
                }

                case 4:
                {
                    if (a.check(Ass) == 0)
                    {
                        break;
                    }
                    a.Find(Ass);
                    //Console.WriteLine("Введите символы для поиска");
                    //string z = Console.ReadLine();
                    //for (int i = 0; i < Ass.Count; i++)
                    //{
                    //    if (Ass[i].S.IndexOf(z) != -1)
                    //        Console.WriteLine(Ass[i].Show());
                    //}
                    break;
                }

                case 5:
                {
                    if (a.check(Ass) == 0)
                    {
                        break;
                    }
                    Ass.Sort();
                    foreach (Associate s in Ass)
                    {
                        Console.WriteLine(s.Show());
                    }
                    break;
                }

                case 6:
                {
                    if (a.check(Ass) == 0)
                    {
                        break;
                    }
                    a.SortByName(Ass);
                    //bool flag = true;
                    //while (flag)
                    //{
                    //    flag = false;
                    //    for (int i = 0; i < Ass.Count - 1; ++i)
                    //        if (Ass[i].S.CompareTo(Ass[i + 1].S) > 0)
                    //        {
                    //            string buf = Ass[i].S;
                    //            Ass[i].S = Ass[i + 1].S;
                    //            Ass[i + 1].S = buf;
                    //            flag = true;
                    //        }
                    //}
                    foreach (Associate s in Ass)
                    {
                        Console.WriteLine(s.Show());
                    }
                    break;
                }

                default:
                {
                    Console.WriteLine("Неверный ввод!!! попробуйте еще");
                    break;
                }
                }
                Console.WriteLine("Продолжить работу с программой?");
                Console.WriteLine("(Нет - выйти, другое - продолжить)");
                if (Console.ReadLine() == "Нет")
                {
                    y = false;
                }
            }
        }