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;
- using System.IO;
- namespace Lab2.Savarankiskas1
- {
- class Butas
- {
- public int ButoNumeris { get; set; }
- public double Plotas { get; set; }
- public int KambariuSkaicius { get; set; }
- public double Kaina { get; set; }
- public int TeleNumeris { get; set; }
- public Butas()
- {
- }
- public Butas(int butoNumeris, double plotas, int kambariuSkaicius, double kaina, int teleNumeris)
- {
- ButoNumeris = butoNumeris;
- Plotas = plotas;
- KambariuSkaicius = kambariuSkaicius;
- Kaina = kaina;
- TeleNumeris = teleNumeris;
- }
- public string Spausdimas()
- {
- return String.Format("Buto numeris: {0}|Plotas; {1}|Kambariu Skaicius: {2}|Kaina: {3}|Savininko numeris: {4}", ButoNumeris, Plotas, KambariuSkaicius, Kaina, TeleNumeris);
- }
- }
- class ButuKonteineris
- {
- private Butas[] Butai { get; set; }
- public int Kiekis { get; private set; }
- public ButuKonteineris(int dydis)
- {
- Butai = new Butas[dydis];
- }
- public void DetiButa(Butas butas)
- {
- Butai[Kiekis++] = butas;
- }
- public Butas ImtiButa(int kuris)
- {
- return Butai[kuris];
- }
- public int Aukstas(int kuris)
- {
- int skaicius = Butai[kuris].ButoNumeris;
- int aukstas;
- skaicius = skaicius % 27;
- aukstas = skaicius / 3;
- if(skaicius % 3 > 0)
- {
- return aukstas + 1;
- }
- else
- {
- return aukstas;
- }
- }
- }
- class Program
- {
- public const int DidziausiasButuKiekis = 540;
- static void Main(string[] args)
- {
- int kambariuSkaicius;
- int zemiausasAukstas;
- int auksciausiasAukstas;
- double kaina;
- Console.Write("Nurodykite norimą kambarių skaičių: ");
- kambariuSkaicius = int.Parse(Console.ReadLine());
- Console.WriteLine("Nurodykite norimus aukštus: ");
- Console.Write("Žemiausias: ");
- zemiausasAukstas = int.Parse(Console.ReadLine());
- Console.Write("Aukščiausias(iki 9 imtinai): ");
- auksciausiasAukstas = int.Parse(Console.ReadLine());
- Console.Write("Nurodykite norimą didžiausią kainą: ");
- kaina = double.Parse(Console.ReadLine());
- ButuKonteineris butai;
- SkaitytiButuDuomenis(out butai);
- ButuKonteineris tinkamiButai;
- RastiNorimusButus(butai, out tinkamiButai, kambariuSkaicius, zemiausasAukstas, auksciausiasAukstas, kaina);
- SpausdinimasKonsole(tinkamiButai);
- }
- private static void SkaitytiButuDuomenis(out ButuKonteineris butai)
- {
- butai = new ButuKonteineris(DidziausiasButuKiekis);
- using (StreamReader reader = new StreamReader(@"ButuDuomenys.csv"))
- {
- string line = null;
- while (null != (line = reader.ReadLine()))
- {
- string[] values = line.Split(',');
- int butoNumeris = int.Parse(values[0]);
- double plotas = double.Parse(values[1]);
- int kambariuSkaicius = int.Parse(values[2]);
- double kaina = double.Parse(values[3]);
- int teleNumeris = int.Parse(values[4]);
- Butas butas = new Butas(butoNumeris, plotas, kambariuSkaicius, kaina, teleNumeris);
- butai.DetiButa(butas);
- }
- }
- }
- private static void RastiNorimusButus(ButuKonteineris butai, out ButuKonteineris tinkamiButai, int kambariuSkaicius, int zemiausasAukstas, int auksciausiasAukstas, double kaina)
- {
- tinkamiButai = new ButuKonteineris(DidziausiasButuKiekis);
- for(int i = 0; i < butai.Kiekis; i++)
- {
- if(butai.ImtiButa(i).KambariuSkaicius == kambariuSkaicius)
- {
- if(butai.Aukstas(i) >= zemiausasAukstas && butai.Aukstas(i) <= auksciausiasAukstas)
- {
- if(butai.ImtiButa(i).Kaina <= kaina)
- {
- tinkamiButai.DetiButa(butai.ImtiButa(i));
- }
- }
- }
- }
- }
- private static void SpausdinimasKonsole(ButuKonteineris tinkamiButai)
- {
- Console.WriteLine("Butai atitinkantys jūsų reikalavimus:");
- Console.WriteLine("-------------------------------------");
- for(int i = 0; i < tinkamiButai.Kiekis; i++)
- {
- Console.WriteLine("{0}) {1}|Aukštas: {2}", i + 1, tinkamiButai.ImtiButa(i).Spausdimas(), tinkamiButai.Aukstas(i));
- }
- Console.WriteLine("-------------------------------------");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement