Ввод и чтение данных через метод - C#

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

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

делал прогу с готовым массивом в ней. теперь надо сделать через метод

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

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

Решение задачи: «Ввод и чтение данных через метод»

textual
Листинг программы
  1. public string Name
  2.         {
  3.             get
  4.             {
  5.                 return name;
  6.             }
  7.             set
  8.             {
  9.                 if(name != "")name = value;
  10.             }
  11.         }
  12.  
  13.         public double Cena
  14.         {
  15.             get
  16.             {
  17.                 return cena;
  18.             }
  19.             set
  20.             {
  21.                 if(value >=0)cena = value;
  22.             }
  23.         }
  24.  
  25.         public int Kol
  26.         {
  27.             get
  28.             {
  29.                 return kol;
  30.             }
  31.             set
  32.             {
  33.                 if(value >= 1)kol = value;
  34.             }
  35.         }

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


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

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

11   голосов , оценка 4.091 из 5

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

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

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