Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2018
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.75 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace @fixed
  8. {
  9. /// <summary>
  10. /// Klasė skirta informacijai apie malūnus saugoti/išgauti
  11. /// </summary>
  12. class Malunas
  13. {
  14. private string malunoPavadinimas;
  15. private List<double> rusiuKiekis = new List<double>();
  16.  
  17. /// <summary>
  18. /// Konstruktorius
  19. /// </summary>
  20. /// <param name="pavadinimas"></param>
  21. public Malunas(string pavadinimas)
  22. {
  23. malunoPavadinimas = pavadinimas;
  24. }
  25.  
  26. /// <summary>
  27. /// Metodas skirtas gauti malūno pavadinimą
  28. /// </summary>
  29. /// <returns></returns>
  30. public string GautiPavadinima() { return malunoPavadinimas; }
  31.  
  32. /// <summary>
  33. /// Metodas skirtas pakeisti sumalamų grudų kiekius
  34. /// </summary>
  35. /// <param name="keiciamasKiekis">Keicimas list'o indeksas</param>
  36. /// <param name="galutinisKiekis">Reikšmė į kurią keičiamas</param>
  37. public void Deti(int keiciamasKiekis, double galutinisKiekis)
  38. { rusiuKiekis.Add(galutinisKiekis); }
  39.  
  40. /// <summary>
  41. /// Metodas sirtas sumalamų grudų kiekiui gražinti
  42. /// </summary>
  43. /// <returns></returns>
  44. public List<double> GautiRusiuKieki(){ return rusiuKiekis;}
  45. }
  46.  
  47. /// <summary>
  48. /// Klasė skirta informacijai apie grūdus saugoti/išgauti
  49. /// </summary>
  50. class Grudai
  51. {
  52. /// <summary>
  53. /// Kintamieji skirti informacija apie grūdus saugoti
  54. /// </summary>
  55. private string rusis;
  56. private double kaina,
  57. nuostoliai,
  58. pardavimoKaina;
  59.  
  60. /// <summary>
  61. /// Konstruktorius
  62. /// </summary>
  63. /// <param name="rusis">Grūdų rūšis</param>
  64. /// <param name="kaina">Grūdų kaina</param>
  65. /// <param name="nuostoliai">Grūdų nuostoliai</param>
  66. public Grudai(string rusis, double kaina, double nuostoliai,
  67. double pardavimoKaina)
  68. {
  69. this.rusis = rusis;
  70. this.kaina = kaina;
  71. this.nuostoliai = nuostoliai;
  72. this.pardavimoKaina = pardavimoKaina;
  73. }
  74.  
  75. /// <summary>
  76. /// Metodas skirtas gauti rūšies pavadinimą
  77. /// </summary>
  78. /// <returns></returns>
  79. public string GautiRusi() { return rusis; }
  80.  
  81. /// <summary>
  82. /// Metodas skirtas gauti pirkimokainą
  83. /// </summary>
  84. /// <returns></returns>
  85. public double GautiKaina() { return kaina; }
  86.  
  87. /// <summary>
  88. /// Metodas skirtas gauti nuostolius
  89. /// </summary>
  90. /// <returns></returns>
  91. public double GautiNuostolius() { return nuostoliai; }
  92.  
  93. /// <summary>
  94. /// Metodas skirtas gauti grudų pardavimo kainą
  95. /// </summary>
  96. /// <returns></returns>
  97. public double GautiPardavimoKaina() { return pardavimoKaina; }
  98. }
  99. class Program
  100. {
  101. static void Main(string[] args)
  102. {
  103. List<Grudai> GruduRusys = new List<Grudai>();
  104. List<Malunas> Malunai = new List<Malunas>();
  105.  
  106. IvestiGruduDuomenis(GruduRusys);
  107. IvestiMalunoDuomenis(Malunai, GruduRusys);
  108. Spausdinti(GruduRusys, Malunai);
  109. }
  110.  
  111.  
  112. static void Spausdinti(List<Grudai> GruduRusys, List<Malunas> Malunai)
  113. {
  114. double maziausiasNuostolis = RastiMaziausiusNuostolius(GruduRusys);
  115. Console.Clear();
  116. //Mažiausi nuostoliai
  117. Console.Write("\nMažiausi nuostoliai buvo: ");
  118. for (int tikrinama = 0; tikrinama <
  119. GruduRusys.Count; tikrinama++)
  120. {
  121. if (maziausiasNuostolis ==
  122. GruduRusys[tikrinama].GautiNuostolius())
  123. {
  124. Console.Write("{0}", GruduRusys[tikrinama].GautiRusi());
  125. if (tikrinama != GruduRusys.Count - 1)
  126. Console.Write(", ");
  127. }
  128. }
  129. Console.Write("\n------------------------\n\n");
  130. //Vidutinė kaina
  131. Console.Write("Vidutine 1 tonos kaina: {0}",
  132. VidutineKaina(GruduRusys));
  133. Console.Write("\n------------------------\n\n");
  134. //Kiekiai
  135. SpausdintiKiekius(GruduRusys, Malunai);
  136. Console.Write("\n------------------------\n\n");
  137. //Padidinus 1,5 karto;
  138. Console.Write("Padidinus 1.5 karto\n\n");
  139. for (int tikrinamiMalunai = 0; tikrinamiMalunai < Malunai.Count;
  140. tikrinamiMalunai++)
  141. {
  142. Console.Write("Į Malūną {0} buvo pristatyta grudų: \n",
  143. Malunai[tikrinamiMalunai].GautiPavadinima());
  144. for (int tikrinamiKiekiai = 0; tikrinamiKiekiai <
  145. Malunai[tikrinamiMalunai].GautiRusiuKieki().Count;
  146. tikrinamiKiekiai++)
  147. {
  148. Malunai[tikrinamiMalunai].Deti(tikrinamiKiekiai,
  149. (Malunai[tikrinamiMalunai].GautiRusiuKieki()[tikrinamiKiekiai]*1.5));
  150.  
  151. Console.Write("Pardavimo kaina: {0}Lt",
  152. Malunai[tikrinamiMalunai].GautiRusiuKieki()[tikrinamiKiekiai] *
  153. GruduRusys[tikrinamiKiekiai].GautiPardavimoKaina());
  154. Console.Write("\n");
  155. }
  156. }
  157.  
  158. }
  159.  
  160. static void SpausdintiKiekius(List<Grudai> GruduRusys,
  161. List<Malunas> Malunai)
  162. {
  163. for (int tikrinamiMalunai = 0; tikrinamiMalunai < Malunai.Count;
  164. tikrinamiMalunai++)
  165. {
  166. Console.Write("Į Malūną {0} buvo pristatyta grudų: \n",
  167. Malunai[tikrinamiMalunai].GautiPavadinima());
  168. for (int tikrinamiKiekiai = 0; tikrinamiKiekiai <
  169. Malunai[tikrinamiMalunai].GautiRusiuKieki().Count;
  170. tikrinamiKiekiai++)
  171. {
  172. Console.Write("Rūšis: {0}",
  173. GruduRusys[tikrinamiKiekiai].GautiRusi());
  174. Console.Write("\tKiekis: {0}t",
  175. Malunai[tikrinamiMalunai].GautiRusiuKieki()[tikrinamiKiekiai]);
  176. Console.Write("\tPirkimo kaina: {0}Lt",
  177. Malunai[tikrinamiMalunai].GautiRusiuKieki()[tikrinamiKiekiai] *
  178. GruduRusys[tikrinamiKiekiai].GautiKaina());
  179. Console.Write("\tPardavimo kaina: {0}Lt",
  180. Malunai[tikrinamiMalunai].GautiRusiuKieki()[tikrinamiKiekiai] *
  181. GruduRusys[tikrinamiKiekiai].GautiPardavimoKaina());
  182. Console.Write("\n");
  183. }
  184. Console.Write("\n");
  185. }
  186. }
  187.  
  188. /// <summary>
  189. /// Metodas skirtas gauti duomenų ivedimui
  190. /// </summary>
  191. /// <param name="GruduRusys">Grudų rūšių klasių masyvas</param>
  192. static void IvestiGruduDuomenis(List<Grudai> GruduRusys)
  193. {
  194. int tikrinamas = 0;
  195. string pavadinimas;
  196. double pirkimoKaina,
  197. nuostoliai,
  198. pardavimoKaina;
  199.  
  200. while (true)
  201. {
  202. //Pavadinimas
  203. Console.Write("Iveskite {0} grudų rūšies pavadinimą: ",
  204. tikrinamas + 1);
  205. pavadinimas = Console.ReadLine();
  206. if (pavadinimas == ""){ EilutesValymas(); break;}
  207. //Pirkimo kaina
  208. Console.Write("Iveskite {0} grudų rūšies pirkimo kainą(Lt/t): "
  209. ,tikrinamas + 1);
  210. pirkimoKaina = double.Parse(Console.ReadLine());
  211. //Nuostoliai
  212. Console.Write("Iveskite {0} grudų rūšies " +
  213. "nuostolius(procentais): ",
  214. tikrinamas + 1);
  215. nuostoliai = double.Parse(Console.ReadLine());
  216. //Pardavimo kaina
  217. Console.Write("Iveskite {0} grudų rūšies pardavimo kainą(Lt): "
  218. ,tikrinamas + 1);
  219. pardavimoKaina = double.Parse(Console.ReadLine());
  220. //Siuntimas
  221. GruduRusys.Add(new Grudai(pavadinimas, pirkimoKaina,
  222. nuostoliai, pardavimoKaina));
  223. Console.Write("\n");
  224. tikrinamas++;
  225. }
  226. Console.Write("------------------------\n\n");
  227. }
  228.  
  229. /// <summary>
  230. /// Metosas skirtas malūno duomenims
  231. /// </summary>
  232. /// <param name="Malunai">Malūnų duomenų sąrašas</param>
  233. /// <param name="GruduRusys">Grudų duomenų sąrašas</param>
  234. static void IvestiMalunoDuomenis(List<Malunas> Malunai,
  235. List<Grudai> GruduRusys)
  236. {
  237. int tikrinamas = 0;
  238. string pavadinimas;
  239. double kiekis;
  240.  
  241. while(true)
  242. {
  243. //Pavadinimas
  244. Console.Write("Iveskite {0} malūno pavadinimą: ",
  245. tikrinamas + 1);
  246. pavadinimas = Console.ReadLine();
  247. if (pavadinimas == "") { EilutesValymas(); break; }
  248. Malunai.Add(new Malunas(pavadinimas));
  249.  
  250. //Sumalamų grudų kiekis
  251. for (int tikrinamasGrudai = 0; tikrinamasGrudai <
  252. GruduRusys.Count; tikrinamasGrudai++)
  253. {
  254. Console.Write("Iveskite {0} malūno nupirktų {1} grudų " +
  255. "kiekį(tonomis): ",
  256. Malunai[tikrinamas].GautiPavadinima(),
  257. GruduRusys[tikrinamasGrudai].GautiRusi());
  258. kiekis = double.Parse(Console.ReadLine());
  259. Malunai[tikrinamas].Deti(tikrinamasGrudai, kiekis);
  260. }
  261. tikrinamas++;
  262. Console.Write("\n");
  263. }
  264. Console.Write("------------------------\n");
  265. }
  266.  
  267. /// <summary>
  268. /// Metodas skirtas išvalyti eilutė
  269. /// </summary>
  270. static void EilutesValymas()
  271. {
  272. int currentLineCursor = Console.CursorTop;
  273. Console.SetCursorPosition(0, Console.CursorTop - 1 );
  274. for (int i = 0; i < Console.WindowWidth; i++)
  275. Console.Write(" ");
  276. Console.SetCursorPosition(0, currentLineCursor-1);
  277. }
  278.  
  279. /// <summary>
  280. /// Metodas skitas vidutinei kainai surasti
  281. /// </summary>
  282. /// <param name="GruduRusys">Grudų rūšių sąrašas</param>
  283. /// <returns>Vidutinė grudų kaina</returns>
  284. static double VidutineKaina(List<Grudai> GruduRusys)
  285. {
  286. double vidurkis = 0;
  287.  
  288. for (int tikrinamas = 0; tikrinamas < GruduRusys.Count;
  289. tikrinamas++)
  290. vidurkis += GruduRusys[tikrinamas].GautiKaina();
  291.  
  292. return vidurkis / GruduRusys.Count;
  293. }
  294.  
  295. /// <summary>
  296. /// Metodas skirtas surasti
  297. /// </summary>
  298. /// <param name="GruduRusys"></param>
  299. /// <returns></returns>
  300. static double RastiMaziausiusNuostolius(List<Grudai> GruduRusys)
  301. {
  302. double minimumas = GruduRusys[0].GautiNuostolius();
  303.  
  304. for (int tikrinamas = 1; tikrinamas < GruduRusys.Count;
  305. tikrinamas++)
  306. if (GruduRusys[tikrinamas].GautiNuostolius() < minimumas)
  307. minimumas = GruduRusys[tikrinamas].GautiNuostolius();
  308.  
  309. return minimumas;
  310. }
  311. }
  312. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement