Написать метод установки/считывания полей - C#

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

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

есть код. сначало был написан с массивом с параметрами надо переделать. написать метод

установки/считывания полей (можно использовать свойства, в т.ч. автоматические)

изучаю С# недавно и мой метод не работает. куча ошибок. вот код
Листинг программы
  1. namespace zadanie2_1
  2. {
  3. class Program
  4. {
  5. static void Main(string[] args)
  6. {
  7. bool f = true;// для сравнвания
  8. Pokupka[] prod = new Pokupka[6];//
  9. prod[0] = new Pokupka();
  10. prod[1] = new Pokupka();
  11. // SuperPokupka[] prod = new SuperPokupka[2]; далее объекты нового класса
  12. prod[2] = new SuperPokupka();
  13. prod[3] = new SuperPokupka();
  14. // SuperPokupka[] prod = new UltraPokupka[2]; далее объекты нового класса
  15. prod[4] = new UltraPokupka();
  16. prod[5] = new UltraPokupka("limon", 4, 10);
  17. // foreach (var element in prod)
  18. // {
  19. // element.Chtenie();
  20. // }
  21. for (int i = 0; i < prod.Length; i++)
  22. {
  23. prod[i].Chtenie();
  24. };
  25.  
  26. Pokupka maxP = prod[0];// перемен. объект для нахождения макс покупки
  27. for (int i = 0; i < prod.Length; i++)
  28. {
  29. Console.WriteLine(prod[i]);//вывод массива
  30. if (maxP.GetCost() < prod[i].GetCost())// нахождение макс покупки
  31. {
  32. maxP = prod[i];
  33. }
  34. f &= prod[0].Equals(prod[i]); // сравниваем с первым все и через &= записывае значение в f, если хоть раз встретитя false то в f и останется false
  35. };
  36. Console.WriteLine();
  37. Console.WriteLine("Все покупки равные? Ответ:" + f);
  38. Console.WriteLine();
  39. Console.WriteLine(" макс. покупкa : " + maxP);
  40. Console.ReadKey();
  41. }
  42. }
  43. }
Листинг программы
  1. namespace zadanie2_1
  2. {
  3. class Pokupka
  4. {
  5. private string name="";// название покупки
  6. private double cena=0;//цена
  7. private int kol=0;// количество
  8. public Pokupka(string newName, double newCena, int newKol)//конструктор
  9. {
  10. Cena = newCena;
  11. Name = newName;
  12. Kol = newKol;
  13. }
  14. public Pokupka()//констр по умолч
  15. {
  16. }
  17. public string Name
  18. {
  19. get
  20. {
  21. return name;
  22. }
  23. set
  24. {
  25. if (name != "") name = value;
  26. }
  27. }
  28. public double Cena
  29. {
  30. get
  31. {
  32. return cena;
  33. }
  34. set
  35. {
  36. if (value >= 0) cena = value;
  37. }
  38. }
  39. public int Kol
  40. {
  41. get
  42. {
  43. return kol;
  44. }
  45. set
  46. {
  47. if (value >= 1) kol = value;
  48. }
  49. }
  50. public virtual double GetCost()//вычисл стоимость покупки
  51. {
  52. return (Cena * Kol);
  53. }
  54. public void Chtenie();
  55. {
  56. System.Console.WriteLine("Enter name:");
  57. Name = System.Console.ReadLine();
  58. System.Console.WriteLine("Enter cena:");
  59. Cena = Convert.ToDouble(Console.ReadLine());
  60. System.Console.WriteLine("Enter kol:");
  61. Kol = Convert.ToInt32(System.Console.ReadLine());
  62. }
  63. public override string ToString()//метод для вывода, больше переопределять не надо
  64. {
  65. return string.Format("{0};{1};{2};{3};", Name, Cena, Kol, GetCost());
  66. }
  67. public override bool Equals(object obj)//переопределяем метод для сравнивания по двум полям
  68. {
  69. var other = obj as Pokupka;
  70. if (other == null) return false;
  71. return name == other.name && Math.Abs(cena - other.cena) < 0.01;
  72. }
  73. }
  74. }
Листинг программы
  1. namespace zadanie2_1
  2. {
  3. class SuperPokupka : Pokupka
  4. {
  5. public SuperPokupka(string newName, double newCena, int newKol)
  6. {
  7. Cena = newCena;
  8. Name = newName;
  9. Kol = newKol;
  10. }
  11. public SuperPokupka()//констр по умолч
  12. {
  13. }
  14. public override double GetCost()//стоимость со скидкой
  15. {
  16. return ((Cena - 1) * Kol);
  17. }
  18. }
  19. }
Листинг программы
  1. namespace zadanie2_1
  2. {
  3. class UltraPokupka : Pokupka
  4. {
  5. int k = 10;// для скидки
  6. public UltraPokupka(string newName, double newCena, int newKol)
  7. {
  8. Cena = newCena;
  9. Name = newName;
  10. Kol = newKol;
  11. }
  12. public UltraPokupka()//констр по умолч
  13. {
  14. }
  15. public override double GetCost()//стоимость со скидкой если больше или равно k
  16. {
  17. if (Kol >= k)
  18. { return (Cena * Kol * (1 - 0.10)); }
  19. else
  20. { return (Cena * Kol); }
  21. }
  22. }
  23. }

Решение задачи: «Написать метод установки/считывания полей»

textual
Листинг программы
  1.         public void Chtenie()
  2.         {
  3.             Console.WriteLine("Enter name:");
  4.             Name = Console.ReadLine();
  5.             Console.WriteLine("Enter cena:");
  6.             Cost = int.Parse(Console.ReadLine());
  7.             Console.WriteLine("Enter kol:");
  8.             Amount = int.Parse(Console.ReadLine());
  9.         }

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


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

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

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы