Advertisement
m1okgoodyes

miispi 2

Nov 18th, 2021 (edited)
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.49 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. namespace miispi_praktika_2/* 13.республика монархия государство, конструкторы
  5. методы ввода вывода описание методов индивидуального задания*/
  6. {
  7. class Government
  8. {
  9. private string name;
  10. private bool parlament;
  11. private int legimacy;
  12. public Government() { name = ""; parlament = false; legimacy = 0; }// конструктор по умолчанию
  13. public Government(string _name, bool _parlament, int _legimacy)// конструктор с параметрами
  14. {
  15. name = _name;
  16. parlament = _parlament;
  17. legimacy = _legimacy;
  18. }
  19. public string Name
  20. {
  21. set
  22. {
  23. name = value;
  24. }
  25. get
  26. {
  27. return name;
  28. }
  29. }
  30. public bool Parlament
  31. {
  32. set
  33. {
  34. parlament = value;
  35. }
  36. get
  37. {
  38. return parlament;
  39. }
  40. }
  41. public int Legimacy
  42. {
  43. set
  44. {
  45. if (value < 0 || value > 100)
  46. {
  47. Console.WriteLine("Легитимность должна быть в периоде от 0 до 100");
  48. }
  49. else
  50. {
  51. legimacy = value;
  52. }
  53. }
  54. get { return legimacy; }
  55. }
  56. public void Print()
  57. {
  58. Console.WriteLine($"Название страны: {name}. Присутствует ли парламент: {parlament}. На сколько процентов легитимна власть: {legimacy}.\n");
  59. }
  60. public override string ToString()//перегрузка метода класса obj ToString
  61. {
  62. return string.Format("Name: {0}, Parlament: {1}, Legimacy: {2}", name, parlament, legimacy);
  63. }
  64. }
  65. class Monarchy : Government
  66. {
  67. private string dinasty;
  68. private bool religion;
  69. public Monarchy() { dinasty = ""; religion = false; }// конструктор по умолчанию
  70. public Monarchy(string _dinasty, bool _religion)// конструктор с параметрами
  71. {
  72. dinasty = _dinasty;
  73. religion = _religion;
  74. }
  75. public string Dinasty
  76. {
  77. set
  78. {
  79. dinasty = value;
  80. }
  81. get { return dinasty; }
  82. }
  83. public bool Religion
  84. {
  85. set
  86. {
  87. religion = value;
  88. }
  89. get { return religion; }
  90. }
  91.  
  92. }
  93. class Republic : Government
  94. {
  95. private bool election;
  96. private string ruler;
  97. public Republic() { ruler = ""; election = false; }// конструктор по умолчанию
  98. public Republic(bool _election, string _ruler)// конструктор с параметрами
  99. {
  100. election = _election;
  101. ruler = _ruler;
  102. }
  103.  
  104.  
  105. public bool Election
  106. {
  107. set
  108. {
  109. election = value;
  110. }
  111. get
  112. {
  113. return election;
  114. }
  115. }
  116. public string Ruler
  117. {
  118. set
  119. {
  120. ruler = value;
  121. }
  122. get { return ruler; }
  123. }
  124.  
  125. }
  126. class Program
  127. {
  128. static void Main(string[] args)
  129. {
  130. Republic usa = new Republic(true, "biden");
  131. Republic russia = new Republic(false, "putin");
  132. Monarchy uar = new Monarchy("ruricovichi", true);
  133. Monarchy uk = new Monarchy("lankasters", false);
  134. List<Government> country = new List<Government>();
  135. country.Add(usa);
  136. country.Add(russia);
  137. country.Add(uar);
  138. country.Add(uk);
  139. List<Government> governments = FindByDynasty(country, "lankasters");
  140. foreach( Government ge in governments )
  141. {
  142. Console.WriteLine(ge);
  143. }
  144. }
  145. static List<Government> FindByDynasty(List<Government> array, string _dinasty)
  146. {
  147. Government ge = null;
  148. List<Government> result = new List<Government>();
  149. for (int i = 0; i < array.Count; i++)
  150. {
  151. if (array[i] is Government)
  152. {
  153. ge = array[i];//Преобразование дочернего класса в родительский
  154. result.Add(ge);
  155. }
  156. //if (array[i].Dinasty == _dinasty)
  157. //{
  158. // result.Add(array[i]);
  159. //}
  160. }
  161.  
  162. return result;
  163. }
  164. static List<Government> FindByRuler(List<Government> array, string _name)
  165. {
  166. List<Government> result = new List<Government>();
  167. for (int i = 0; i < array.Count; i++)
  168. {
  169. if (array[i].Name == _name)
  170. {
  171. result.Add(array[i]);
  172. }
  173. }
  174. return result;
  175. }
  176. }
  177. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement