Сравнить объекты через 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("нет"); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д