Сравнить объекты через Equals() - C#

Узнай цену своей работы

Формулировка задачи:

Equals( ) – сравнивает две продажи (считаются равными, если совпадают название и цена). количество в учет не брать метод Equals( ) обозначен не правильно нужно реализовать в одном общем цикле вывод всех записей нахождение макс и являются ли все покупки равными (да/нет) через метод Equals( ). и после цикла вывести значение (да/нет). зачеркнутое сделано
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace zadanie2_1
{
    class UltraPokupka : Pokupka
    {
        int k=10;
 
        public UltraPokupka(string newName, double newCena, int newKol)
        {
            Cena = newCena;
            Name = newName;
            Kol = newKol;
        }
 
        public override double GetCost()
        {
            if (Kol >= k)
            { return (Cena * Kol * (1 - 0.10)); }
            else
            { return (Cena * Kol); }
        }
        public override string ToString()
        {
            return string.Format("{0};{1};{2};{3};", Name, Cena, Kol, GetCost());
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace zadanie2_1
{
    class SuperPokupka : Pokupka
    {
 
        public SuperPokupka(string newName, double newCena, int newKol)
        {
            Cena = newCena;
            Name = newName;
            Kol = newKol;
        }
 
        public override double GetCost()
        {
            return ((Cena-1) * Kol);
        }
        public override string ToString()
        {
            return string.Format("{0};{1};{2};{3};", Name, Cena, Kol, GetCost());
        }
       
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace zadanie2_1
{
    class Pokupka
    {
        private string name;
        private double cena;
        private int kol;
 
        public Pokupka(string newName, double newCena, int newKol)
        {
            Cena = newCena;
            Name = newName;
            Kol = newKol;
        }
 
        public Pokupka()
        {
        }
 
        public string Name
        {
            get
            {
                return name;
            }
            set
            {
                name = value;
            }
        }
 
        public double Cena
        {
            get
            {
                return cena;
            }
            set
            {
                cena = value;
            }
        }
 
        public int Kol
        {
            get
            {
                return kol;
            }
            set
            {
                kol = value;
            }
        }
 
        public virtual double GetCost()
        {
            return (Cena * Kol);
        }
 
        public override string ToString()
        {
            return string.Format("{0};{1};{2};{3};", Name, Cena, Kol, GetCost());
        }
      //  public override bool Equals()
     //   {
      //      if (Cena == Cena && Name == Name) return true;
      //      else
      //      return false;
      //  }
 
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace zadanie2_1
{
    class Program
    {
        static void Main(string[] args)
        {
            Pokupka[] prod = new Pokupka[6];
            prod[0] = new Pokupka("limon", 4, 6);
            prod[1] = new Pokupka("limon", 4, 2);
           // SuperPokupka[] prod = new SuperPokupka[2];
            prod[2] = new SuperPokupka("limon", 4, 8);
            prod[3] = new SuperPokupka("limon", 4, 10);
            // SuperPokupka[] prod = new UltraPokupka[2];
            prod[4] = new UltraPokupka("limon", 4, 5);
            prod[5] = new UltraPokupka("limon", 4, 20);

            Pokupka maxP = prod[0];
 
            for (int i = 0; i < prod.Length; i++)
            {
                Console.WriteLine(prod[i]);
 
                if (maxP.GetCost() < prod[i].GetCost())
                {
                    maxP = prod[i];
                }
            };
 
         //   for (int i = 0; i < prod.Length; i++)
        //    {
        //        prod[i].Equals(prod[i+1]);
        //    };
            Console.WriteLine();
            Console.WriteLine(" макс. покупкa : {0}", maxP);
       
            Console.ReadKey();
        }
    }
}

Решение задачи: «Сравнить объекты через Equals()»

textual
Листинг программы
int k = 0;
int g = 0;
for (int i = 0; i < prod.Length; i++)
            {
                Console.WriteLine(prod[i]);
 
                if (maxP.GetCost() < prod[i].GetCost())
                {
                    maxP = prod[i];
                }
                if (prod[k].Equals(prod[k + 1]) == true)
                { g = g + 1; }
                else
                { }
            };
            if (g == 6)
            { Console.WriteLine("да"); }
            else { Console.WriteLine("нет"); }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы