Beispiel #1
0
        public override bool Equals(object r)
        {
            Архиватор z = (Архиватор)r;

            if (z.name == this.name && z.year == this.year &&
                z.zip == this.zip)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            Console.Write("Введите N = ");
            int N = int.Parse(Console.ReadLine());

            ПрограммныйПродукт[] R = new ПрограммныйПродукт[N];
            int[] n = new int[N];
            for (int i = 0; i < N; i++)
            {
                link5 : Console.WriteLine("Выбирите тип программного продукта: " + (i + 1) + " : \n\t1.Архиватор\n\t2.Среда программировани\n\t3.Текстовый редакто\n");
                int x = int.Parse(Console.ReadLine());
                switch (x)
                {
                case 1:
                    R[i] = new Архиватор();
                    Console.WriteLine("Введите данные о архиваторе " + (i + 1) + " :");
                    R[i].Input();
                    n[i] = 1;
                    break;

                case 2:
                    R[i] = new СредаПрограммирования();
                    Console.WriteLine("Введите данные о среде прог.  " + (i + 1) + " :");
                    R[i].Input();
                    n[i] = 2;
                    break;

                case 3:
                    R[i] = new ТекстовыйРедактор();
                    Console.WriteLine("Введите данные о текстовом редакторе " + (i + 1) + " :");
                    R[i].Input();
                    n[i] = 3;
                    break;

                default:
                    Console.WriteLine("Некорректное значение!");
                    goto link5;
                }
            }
            for (; ;)
            {
                Console.WriteLine("Сравнение объектов");
                Console.WriteLine("Введите номера объектов одного типа для сравнения :\n");
                Console.WriteLine("Введите первый объект :\n");
                int i1 = int.Parse(Console.ReadLine());
                Console.WriteLine("Введите второй объект :\n");
                int i2 = int.Parse(Console.ReadLine());
                if (n[i1 - 1] == n[i2 - 1])
                {
                    if (R[i1 - 1].Equals(R[i2 - 1]) == true)
                    {
                        Console.WriteLine("Объекты равны");
                    }
                    else
                    {
                        Console.WriteLine("Объекты не равны");
                    }
                    break;
                }
                else
                {
                    Console.WriteLine("Различные типы объектов, сравнение невозможно!");
                }
            }
            Console.ReadKey();
        }