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