Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace @fixed
- {
- /// <summary>
- /// Klasė skirta informacijai apie malūnus saugoti/išgauti
- /// </summary>
- class Malunas
- {
- private string malunoPavadinimas;
- private List<double> rusiuKiekis = new List<double>();
- /// <summary>
- /// Konstruktorius
- /// </summary>
- /// <param name="pavadinimas"></param>
- public Malunas(string pavadinimas)
- {
- malunoPavadinimas = pavadinimas;
- }
- /// <summary>
- /// Metodas skirtas gauti malūno pavadinimą
- /// </summary>
- /// <returns></returns>
- public string GautiPavadinima() { return malunoPavadinimas; }
- /// <summary>
- /// Metodas skirtas pakeisti sumalamų grudų kiekius
- /// </summary>
- /// <param name="keiciamasKiekis">Keicimas list'o indeksas</param>
- /// <param name="galutinisKiekis">Reikšmė į kurią keičiamas</param>
- public void Deti(int keiciamasKiekis, double galutinisKiekis)
- { rusiuKiekis.Add(galutinisKiekis); }
- /// <summary>
- /// Metodas sirtas sumalamų grudų kiekiui gražinti
- /// </summary>
- /// <returns></returns>
- public List<double> GautiRusiuKieki(){ return rusiuKiekis;}
- }
- /// <summary>
- /// Klasė skirta informacijai apie grūdus saugoti/išgauti
- /// </summary>
- class Grudai
- {
- /// <summary>
- /// Kintamieji skirti informacija apie grūdus saugoti
- /// </summary>
- private string rusis;
- private double kaina,
- nuostoliai,
- pardavimoKaina;
- /// <summary>
- /// Konstruktorius
- /// </summary>
- /// <param name="rusis">Grūdų rūšis</param>
- /// <param name="kaina">Grūdų kaina</param>
- /// <param name="nuostoliai">Grūdų nuostoliai</param>
- public Grudai(string rusis, double kaina, double nuostoliai,
- double pardavimoKaina)
- {
- this.rusis = rusis;
- this.kaina = kaina;
- this.nuostoliai = nuostoliai;
- this.pardavimoKaina = pardavimoKaina;
- }
- /// <summary>
- /// Metodas skirtas gauti rūšies pavadinimą
- /// </summary>
- /// <returns></returns>
- public string GautiRusi() { return rusis; }
- /// <summary>
- /// Metodas skirtas gauti pirkimokainą
- /// </summary>
- /// <returns></returns>
- public double GautiKaina() { return kaina; }
- /// <summary>
- /// Metodas skirtas gauti nuostolius
- /// </summary>
- /// <returns></returns>
- public double GautiNuostolius() { return nuostoliai; }
- /// <summary>
- /// Metodas skirtas gauti grudų pardavimo kainą
- /// </summary>
- /// <returns></returns>
- public double GautiPardavimoKaina() { return pardavimoKaina; }
- }
- class Program
- {
- static void Main(string[] args)
- {
- List<Grudai> GruduRusys = new List<Grudai>();
- List<Malunas> Malunai = new List<Malunas>();
- IvestiGruduDuomenis(GruduRusys);
- IvestiMalunoDuomenis(Malunai, GruduRusys);
- Spausdinti(GruduRusys, Malunai);
- }
- static void Spausdinti(List<Grudai> GruduRusys, List<Malunas> Malunai)
- {
- double maziausiasNuostolis = RastiMaziausiusNuostolius(GruduRusys);
- Console.Clear();
- //Mažiausi nuostoliai
- Console.Write("\nMažiausi nuostoliai buvo: ");
- for (int tikrinama = 0; tikrinama <
- GruduRusys.Count; tikrinama++)
- {
- if (maziausiasNuostolis ==
- GruduRusys[tikrinama].GautiNuostolius())
- {
- Console.Write("{0}", GruduRusys[tikrinama].GautiRusi());
- if (tikrinama != GruduRusys.Count - 1)
- Console.Write(", ");
- }
- }
- Console.Write("\n------------------------\n\n");
- //Vidutinė kaina
- Console.Write("Vidutine 1 tonos kaina: {0}",
- VidutineKaina(GruduRusys));
- Console.Write("\n------------------------\n\n");
- //Kiekiai
- SpausdintiKiekius(GruduRusys, Malunai);
- Console.Write("\n------------------------\n\n");
- //Padidinus 1,5 karto;
- Console.Write("Padidinus 1.5 karto\n\n");
- for (int tikrinamiMalunai = 0; tikrinamiMalunai < Malunai.Count;
- tikrinamiMalunai++)
- {
- Console.Write("Į Malūną {0} buvo pristatyta grudų: \n",
- Malunai[tikrinamiMalunai].GautiPavadinima());
- for (int tikrinamiKiekiai = 0; tikrinamiKiekiai <
- Malunai[tikrinamiMalunai].GautiRusiuKieki().Count;
- tikrinamiKiekiai++)
- {
- Malunai[tikrinamiMalunai].Deti(tikrinamiKiekiai,
- (Malunai[tikrinamiMalunai].GautiRusiuKieki()[tikrinamiKiekiai]*1.5));
- Console.Write("Pardavimo kaina: {0}Lt",
- Malunai[tikrinamiMalunai].GautiRusiuKieki()[tikrinamiKiekiai] *
- GruduRusys[tikrinamiKiekiai].GautiPardavimoKaina());
- Console.Write("\n");
- }
- }
- }
- static void SpausdintiKiekius(List<Grudai> GruduRusys,
- List<Malunas> Malunai)
- {
- for (int tikrinamiMalunai = 0; tikrinamiMalunai < Malunai.Count;
- tikrinamiMalunai++)
- {
- Console.Write("Į Malūną {0} buvo pristatyta grudų: \n",
- Malunai[tikrinamiMalunai].GautiPavadinima());
- for (int tikrinamiKiekiai = 0; tikrinamiKiekiai <
- Malunai[tikrinamiMalunai].GautiRusiuKieki().Count;
- tikrinamiKiekiai++)
- {
- Console.Write("Rūšis: {0}",
- GruduRusys[tikrinamiKiekiai].GautiRusi());
- Console.Write("\tKiekis: {0}t",
- Malunai[tikrinamiMalunai].GautiRusiuKieki()[tikrinamiKiekiai]);
- Console.Write("\tPirkimo kaina: {0}Lt",
- Malunai[tikrinamiMalunai].GautiRusiuKieki()[tikrinamiKiekiai] *
- GruduRusys[tikrinamiKiekiai].GautiKaina());
- Console.Write("\tPardavimo kaina: {0}Lt",
- Malunai[tikrinamiMalunai].GautiRusiuKieki()[tikrinamiKiekiai] *
- GruduRusys[tikrinamiKiekiai].GautiPardavimoKaina());
- Console.Write("\n");
- }
- Console.Write("\n");
- }
- }
- /// <summary>
- /// Metodas skirtas gauti duomenų ivedimui
- /// </summary>
- /// <param name="GruduRusys">Grudų rūšių klasių masyvas</param>
- static void IvestiGruduDuomenis(List<Grudai> GruduRusys)
- {
- int tikrinamas = 0;
- string pavadinimas;
- double pirkimoKaina,
- nuostoliai,
- pardavimoKaina;
- while (true)
- {
- //Pavadinimas
- Console.Write("Iveskite {0} grudų rūšies pavadinimą: ",
- tikrinamas + 1);
- pavadinimas = Console.ReadLine();
- if (pavadinimas == ""){ EilutesValymas(); break;}
- //Pirkimo kaina
- Console.Write("Iveskite {0} grudų rūšies pirkimo kainą(Lt/t): "
- ,tikrinamas + 1);
- pirkimoKaina = double.Parse(Console.ReadLine());
- //Nuostoliai
- Console.Write("Iveskite {0} grudų rūšies " +
- "nuostolius(procentais): ",
- tikrinamas + 1);
- nuostoliai = double.Parse(Console.ReadLine());
- //Pardavimo kaina
- Console.Write("Iveskite {0} grudų rūšies pardavimo kainą(Lt): "
- ,tikrinamas + 1);
- pardavimoKaina = double.Parse(Console.ReadLine());
- //Siuntimas
- GruduRusys.Add(new Grudai(pavadinimas, pirkimoKaina,
- nuostoliai, pardavimoKaina));
- Console.Write("\n");
- tikrinamas++;
- }
- Console.Write("------------------------\n\n");
- }
- /// <summary>
- /// Metosas skirtas malūno duomenims
- /// </summary>
- /// <param name="Malunai">Malūnų duomenų sąrašas</param>
- /// <param name="GruduRusys">Grudų duomenų sąrašas</param>
- static void IvestiMalunoDuomenis(List<Malunas> Malunai,
- List<Grudai> GruduRusys)
- {
- int tikrinamas = 0;
- string pavadinimas;
- double kiekis;
- while(true)
- {
- //Pavadinimas
- Console.Write("Iveskite {0} malūno pavadinimą: ",
- tikrinamas + 1);
- pavadinimas = Console.ReadLine();
- if (pavadinimas == "") { EilutesValymas(); break; }
- Malunai.Add(new Malunas(pavadinimas));
- //Sumalamų grudų kiekis
- for (int tikrinamasGrudai = 0; tikrinamasGrudai <
- GruduRusys.Count; tikrinamasGrudai++)
- {
- Console.Write("Iveskite {0} malūno nupirktų {1} grudų " +
- "kiekį(tonomis): ",
- Malunai[tikrinamas].GautiPavadinima(),
- GruduRusys[tikrinamasGrudai].GautiRusi());
- kiekis = double.Parse(Console.ReadLine());
- Malunai[tikrinamas].Deti(tikrinamasGrudai, kiekis);
- }
- tikrinamas++;
- Console.Write("\n");
- }
- Console.Write("------------------------\n");
- }
- /// <summary>
- /// Metodas skirtas išvalyti eilutė
- /// </summary>
- static void EilutesValymas()
- {
- int currentLineCursor = Console.CursorTop;
- Console.SetCursorPosition(0, Console.CursorTop - 1 );
- for (int i = 0; i < Console.WindowWidth; i++)
- Console.Write(" ");
- Console.SetCursorPosition(0, currentLineCursor-1);
- }
- /// <summary>
- /// Metodas skitas vidutinei kainai surasti
- /// </summary>
- /// <param name="GruduRusys">Grudų rūšių sąrašas</param>
- /// <returns>Vidutinė grudų kaina</returns>
- static double VidutineKaina(List<Grudai> GruduRusys)
- {
- double vidurkis = 0;
- for (int tikrinamas = 0; tikrinamas < GruduRusys.Count;
- tikrinamas++)
- vidurkis += GruduRusys[tikrinamas].GautiKaina();
- return vidurkis / GruduRusys.Count;
- }
- /// <summary>
- /// Metodas skirtas surasti
- /// </summary>
- /// <param name="GruduRusys"></param>
- /// <returns></returns>
- static double RastiMaziausiusNuostolius(List<Grudai> GruduRusys)
- {
- double minimumas = GruduRusys[0].GautiNuostolius();
- for (int tikrinamas = 1; tikrinamas < GruduRusys.Count;
- tikrinamas++)
- if (GruduRusys[tikrinamas].GautiNuostolius() < minimumas)
- minimumas = GruduRusys[tikrinamas].GautiNuostolius();
- return minimumas;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement