daily pastebin goal
44%
SHARE
TWEET

Lab2.Savarankiskas1

a guest Oct 12th, 2017 50 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.IO;
  7.  
  8. namespace Lab2.Savarankiskas1
  9. {
  10.     class Butas
  11.     {
  12.         public int ButoNumeris { get; set; }
  13.         public double Plotas { get; set; }
  14.         public int KambariuSkaicius { get; set; }
  15.         public double Kaina { get; set; }
  16.         public int TeleNumeris { get; set; }
  17.  
  18.         public Butas()
  19.         {
  20.         }
  21.  
  22.         public Butas(int butoNumeris, double plotas, int kambariuSkaicius, double kaina, int teleNumeris)
  23.         {
  24.             ButoNumeris = butoNumeris;
  25.             Plotas = plotas;
  26.             KambariuSkaicius = kambariuSkaicius;
  27.             Kaina = kaina;
  28.             TeleNumeris = teleNumeris;
  29.         }
  30.  
  31.         public string Spausdimas()
  32.         {
  33.             return String.Format("Buto numeris: {0}|Plotas; {1}|Kambariu Skaicius: {2}|Kaina: {3}|Savininko numeris: {4}", ButoNumeris, Plotas, KambariuSkaicius, Kaina, TeleNumeris);
  34.         }
  35.     }
  36.  
  37. class ButuKonteineris
  38.     {
  39.         private Butas[] Butai { get; set; }
  40.         public int Kiekis { get; private set; }
  41.  
  42.         public ButuKonteineris(int dydis)
  43.         {
  44.             Butai = new Butas[dydis];
  45.         }
  46.  
  47.         public void DetiButa(Butas butas)
  48.         {
  49.             Butai[Kiekis++] = butas;
  50.         }
  51.  
  52.         public Butas ImtiButa(int kuris)
  53.         {
  54.             return Butai[kuris];
  55.         }
  56.  
  57.         public int Aukstas(int kuris)
  58.         {
  59.             int skaicius = Butai[kuris].ButoNumeris;
  60.             int aukstas;
  61.             skaicius = skaicius % 27;
  62.             aukstas = skaicius / 3;
  63.             if(skaicius % 3 > 0)
  64.             {
  65.                 return aukstas + 1;
  66.             }
  67.             else
  68.             {
  69.                 return aukstas;
  70.             }
  71.         }
  72.  
  73. }
  74.     class Program
  75.     {
  76.         public const int DidziausiasButuKiekis = 540;
  77.         static void Main(string[] args)
  78.         {
  79.             int kambariuSkaicius;
  80.             int zemiausasAukstas;
  81.             int auksciausiasAukstas;
  82.             double kaina;
  83.             Console.Write("Nurodykite norimą kambarių skaičių: ");
  84.             kambariuSkaicius = int.Parse(Console.ReadLine());
  85.             Console.WriteLine("Nurodykite norimus aukštus: ");
  86.             Console.Write("Žemiausias: ");
  87.             zemiausasAukstas = int.Parse(Console.ReadLine());
  88.             Console.Write("Aukščiausias(iki 9 imtinai): ");
  89.             auksciausiasAukstas = int.Parse(Console.ReadLine());
  90.             Console.Write("Nurodykite norimą didžiausią kainą: ");
  91.             kaina = double.Parse(Console.ReadLine());
  92.  
  93.             ButuKonteineris butai;
  94.             SkaitytiButuDuomenis(out butai);
  95.  
  96.             ButuKonteineris tinkamiButai;
  97.             RastiNorimusButus(butai, out tinkamiButai, kambariuSkaicius, zemiausasAukstas, auksciausiasAukstas, kaina);
  98.  
  99.             SpausdinimasKonsole(tinkamiButai);
  100.         }
  101.  
  102.         private static void SkaitytiButuDuomenis(out ButuKonteineris butai)
  103.         {
  104.             butai = new ButuKonteineris(DidziausiasButuKiekis);
  105.             using (StreamReader reader = new StreamReader(@"ButuDuomenys.csv"))
  106.             {
  107.                 string line = null;
  108.                 while (null != (line = reader.ReadLine()))
  109.                 {
  110.                     string[] values = line.Split(',');
  111.                     int butoNumeris = int.Parse(values[0]);
  112.                     double plotas = double.Parse(values[1]);
  113.                     int kambariuSkaicius = int.Parse(values[2]);
  114.                     double kaina = double.Parse(values[3]);
  115.                     int teleNumeris = int.Parse(values[4]);
  116.  
  117.                     Butas butas = new Butas(butoNumeris, plotas, kambariuSkaicius, kaina, teleNumeris);
  118.  
  119.                     butai.DetiButa(butas);
  120.                 }
  121.             }
  122.         }
  123.  
  124.         private static void RastiNorimusButus(ButuKonteineris butai, out ButuKonteineris tinkamiButai, int kambariuSkaicius, int zemiausasAukstas, int auksciausiasAukstas, double kaina)
  125.         {
  126.             tinkamiButai = new ButuKonteineris(DidziausiasButuKiekis);
  127.             for(int i = 0; i < butai.Kiekis; i++)
  128.             {
  129.                 if(butai.ImtiButa(i).KambariuSkaicius == kambariuSkaicius)
  130.                 {
  131.                     if(butai.Aukstas(i) >= zemiausasAukstas && butai.Aukstas(i) <= auksciausiasAukstas)
  132.                     {
  133.                         if(butai.ImtiButa(i).Kaina <= kaina)
  134.                         {
  135.                             tinkamiButai.DetiButa(butai.ImtiButa(i));
  136.                         }
  137.                     }
  138.                 }
  139.             }
  140.         }
  141.  
  142.         private static void SpausdinimasKonsole(ButuKonteineris tinkamiButai)
  143.         {
  144.             Console.WriteLine("Butai atitinkantys jūsų reikalavimus:");
  145.             Console.WriteLine("-------------------------------------");
  146.             for(int i = 0; i < tinkamiButai.Kiekis; i++)
  147.             {
  148.                 Console.WriteLine("{0}) {1}|Aukštas: {2}", i + 1, tinkamiButai.ImtiButa(i).Spausdimas(), tinkamiButai.Aukstas(i));
  149.             }
  150.             Console.WriteLine("-------------------------------------");
  151.         }
  152.     }
  153. }
RAW Paste Data
Top