예제 #1
0
        static void Main(string[] args)
        {
            Mokinys D11 = new Mokinys(11, "Dominykas", false);

            D11.Pazymiai.Add(10);
            D11.Pazymiai.Add(8);
            D11.Pazymiai.Add(8);
            D11.Pazymiai.Add(9);
            D11.Pazymiai.Add(9);

            foreach (var item in D11.Pazymiai)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine(D11.getVidurkis());


            MokinioRepositorija repo = new MokinioRepositorija();

            List <Mokinys> daugMokiniu = repo.Retrieve();

            foreach (var item in daugMokiniu)
            {
                Console.WriteLine("{0} - {1} - OW - {2}", item.Vardas, item.ID, item.OlyNugaletjoas);
            }
            Console.WriteLine("{0} - {1} - OW - {2}", repo.Retrieve(03).ID, repo.Retrieve(03).Vardas, repo.Retrieve(03).OlyNugaletjoas);

            ReportGenerator RG = new ReportGenerator(repo);

            Console.WriteLine(RG.GeneruotiMokiniuAtaskaita());

            Console.ReadLine();
        }
예제 #2
0
        private static void SukurtiMokinius(List <Mokinys> sarasas)
        {
            Mokinys mok = new Mokinys();

            mok.trim1 = 10;
            mok.trim2 = 9;
            mok.trim3 = 8;

            sarasas.Add(mok);

            mok.trim1 = 7;
            mok.trim2 = 9;
            mok.trim3 = 10;

            sarasas.Add(mok);

            mok.trim1 = 8;
            mok.trim2 = 5;
            mok.trim3 = 10;

            sarasas.Add(mok);

            mok.trim1 = 9;
            mok.trim2 = 8;
            mok.trim3 = 7;

            sarasas.Add(mok);

            mok.trim1 = 6;
            mok.trim2 = 8;
            mok.trim3 = 7;

            sarasas.Add(mok);
        }
예제 #3
0
    public void ReadF(string fn)
    {
        String[] lines = System.IO.File.ReadAllLines(fn);
        int      l     = 0;

        foreach (string line in lines)
        {
            if (l != 0)
            {
                List <string> ele = new List <string>(line.Split(' ', StringSplitOptions.RemoveEmptyEntries));
                if (ele.Count > 4)
                {
                    string     var = ele[0];
                    string     pav = ele[1];
                    List <int> n   = new List <int>();
                    for (int i = 2; i < ele.Count - 1; i++)
                    {
                        n.Add(Convert.ToInt32(ele[i]));
                    }
                    int     eg  = Convert.ToInt32(ele[ele.Count - 1]);
                    Mokinys mok = new Mokinys();
                    mok.Enterdataman(var, pav, n, eg);
                    mokiniai.Add(mok);
                    mokiniaill.AddLast(mok);
                    mokiniaiq.Enqueue(mok);
                }

                //Console.WriteLine("{0,0} {1,0} {2,0} {3, 0}",var, pav, string.Join("; ", n), eg);
            }
            l++;
        }
    }
예제 #4
0
        public static void SukurtiMokinius(List <Mokinys> sarasas)
        {
            Mokinys mok = new Mokinys();

            mok.trim1 = 10;
            mok.trim2 = 9;
            mok.trim3 = 8;


            mok.trim1 = 8;
            mok.trim2 = 6;
            mok.trim3 = 5;
            sarasas.Add(mok);


            mok.trim1 = 7;
            mok.trim2 = 4;
            mok.trim3 = 5;
            sarasas.Add(mok);


            mok.trim1 = 9;
            mok.trim2 = 5;
            mok.trim3 = 6;
            sarasas.Add(mok);

            mok.trim1 = 10;
            mok.trim2 = 4;
            mok.trim3 = 9;
            sarasas.Add(mok);
        }
예제 #5
0
            public Paskaita()
            {
                moki = new Mokinys[7];

                for (int i = 0; i < moki.Length; i++)
                {
                    moki[i] = new Mokinys();
                }
            }
예제 #6
0
    public void DoFour(string fn, int n)
    {
        var watch = new System.Diagnostics.Stopwatch();

        watch.Start();
        //Console.WriteLine("įveskite kiek failų ruošiaties generuoti");

        Console.WriteLine("generuojamas " + fn);

        string       docPath    = defdir;
        StreamWriter outputFile = new StreamWriter(Path.Combine(docPath, fn));

        outputFile.WriteLine("Vardas Pavarde nd1 nd2 nd3 nd4 nd5 Egzaminas");
        for (int j = 1; j <= n; j++)
        {
            string vardas  = "Vardas" + Convert.ToString(j);
            string pavarde = "Pavarde" + Convert.ToString(j);
            int    nd1     = random.Next(1, 10);
            int    nd2     = random.Next(1, 10);
            int    nd3     = random.Next(1, 10);
            int    nd4     = random.Next(1, 10);
            int    nd5     = random.Next(1, 10);
            int    egz     = random.Next(1, 10);
            string stud    = vardas + " " + pavarde + " " + Convert.ToString(nd1) + " " + Convert.ToString(nd2) + " " + Convert.ToString(nd3) + " " + Convert.ToString(nd4) + " " + Convert.ToString(nd5) + " " + Convert.ToString(egz);
            outputFile.WriteLine(stud);
            List <int> nd = new List <int>();
            nd.Add(nd1);
            nd.Add(nd2);
            nd.Add(nd3);
            nd.Add(nd4);
            nd.Add(nd5);
            Mokinys mok = new Mokinys();
            mok.Enterdataman(vardas, pavarde, nd, egz);
            mokiniai.Add(mok);
        }
        mokiniai.Sort((s1, s2) => s1.galutinisvid.CompareTo(s2.galutinisvid));

        outputFile.Close();


        Console.WriteLine("Sukategoruojama į failus");
        string       kat2    = "galvociai.txt";
        string       kat1    = "vargsiukai.txt";
        StreamWriter outkat2 = new StreamWriter(Path.Combine(defdir, kat2), true);
        StreamWriter outkat1 = new StreamWriter(Path.Combine(defdir, kat1), true);

        outkat2.WriteLine("{0,30}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");
        outkat1.WriteLine("{0,20}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");
        for (int k = 0; k < mokiniai.Count; k++)
        {
            mokiniai[k].PrintFileb(outkat1, outkat2);
        }
        outkat1.Close();
        outkat2.Close();
        watch.Stop();
        Console.WriteLine($"Execution Time: {watch.ElapsedMilliseconds} ms");
    }
예제 #7
0
        public void ArGrazinsNullReiksmia()
        {
            trecias.Clear();
            //Arange
            Mokinys Tomas = new Mokinys(pirmas, antras, trecias);
            //act
            double result = Tomas.trecioTrimestoVidurkis();

            //Asset
            Assert.AreEqual(result, 0);
        }
예제 #8
0
        public void ArGeraiAtspausdinsPirmoTrimestoVidurki()
        {
            //Arange
            uzpildymas();
            Mokinys Tomas = new Mokinys(pirmas, antras, trecias);
            //act
            double result = Tomas.pirmoTrimestoVidurkis();

            //Asset
            Assert.AreEqual(result, 10);
        }
예제 #9
0
        static void Main(string[] args)
        {
            Mokinys mok  = new Mokinys();
            Mokinys mok2 = new Mokinys(10, 3, 8);
            Mokinys mok3 = mok2;

            Console.WriteLine(mok.MetinisVidurkis());
            Console.WriteLine(mok2.MetinisVidurkis());
            Console.WriteLine(mok3.MetinisVidurkis());
            Console.ReadLine();
        }
예제 #10
0
        public void PazymiuVidurkisShouldreturn0WhenNoGrades()
        {
            //Assign
            Mokinys mokinys  = new Mokinys(9, "Petras", true);
            int     actual   = 0;
            int     expected = 0;

            //Act
            actual = mokinys.PazymiuVidurkis();
            //Assert
            Assert.AreEqual(expected, actual);
        }
예제 #11
0
        public void ArGeraiAtspausdinsTrecioTrimestoVidurki()
        {
            //SarasoAprasymas
            uzpildymas();

            //Arange
            Mokinys Tomas = new Mokinys(pirmas, antras, trecias);
            //act
            double result = Tomas.trecioTrimestoVidurkis();

            //Asset
            Assert.AreEqual(result, 6);
        }
예제 #12
0
        public void ArGeraiAtspausdinsMetiniVidurki()
        {
            //SarasoAprasymas
            uzpildymas();

            //Arange
            Mokinys Tomas = new Mokinys(pirmas, antras, trecias);
            //act
            double result = Tomas.metinisPazimys();

            //Asset
            Assert.AreEqual(result, 7);
        }
예제 #13
0
        public void PazymiuVidurkisShouldReturnOneGrade()
        {
            //Assign
            Mokinys mokinys = new Mokinys(9, "Petras", true);

            mokinys.PazymiuSarasas.Add(9);
            int actual   = 9;
            int expected = 9;

            //Act
            actual = mokinys.PazymiuVidurkis();
            //Assert
            Assert.AreEqual(expected, actual);
        }
예제 #14
0
        public void TestforAverageCountWhenthereAreNoAnyCongnite()
        {
            //Assign
            Mokinys mokinys = new Mokinys(9, "Petras", true);

            int expected = 0;
            int actual   = 0;

            //Act

            actual = mokinys.PazymiuVidurkis();
            //Asert

            Assert.AreEqual(expected, actual);
        }
예제 #15
0
        public void TestforAverageCountWhenthereAreTwoCongnites()
        {
            //Assign
            Mokinys mokinys = new Mokinys(9, "Petras", true);

            mokinys.PazymiuSarasas.Add(10);
            mokinys.PazymiuSarasas.Add(8);

            int expected = 9;
            int actual   = 0;

            //Act

            actual = mokinys.PazymiuVidurkis();
            //Asert

            Assert.AreEqual(expected, actual);
        }
예제 #16
0
        static void Main(string[] args)
        {
            Mokinys mokinys = new Mokinys();

            mokinys.trimestras1 = new List <int>();
            mokinys.trimestras2 = new List <int>();
            mokinys.trimestras3 = new List <int>();

            mokinys.trimestras1.Add(5);
            mokinys.trimestras1.Add(7);
            mokinys.trimestras1.Add(6);
            mokinys.trimestras2.Add(4);
            mokinys.trimestras2.Add(7);
            mokinys.trimestras2.Add(9);
            mokinys.trimestras3.Add(4);
            mokinys.trimestras3.Add(5);
            mokinys.trimestras3.Add(5);
            Console.WriteLine("Pirmojo trimestro vidurkis {0}", mokinys.PirmojoTrimestroVidurkis());
            Console.WriteLine("Pirmojo trimestro vidurkis {0}", mokinys.AntrojoTrimestroVidurkis());
            Console.WriteLine("Pirmojo trimestro vidurkis {0}", mokinys.TrecioTrimestroVidurkis());
            Console.WriteLine("Metinis pazymys {0}", (mokinys.PirmojoTrimestroVidurkis() + mokinys.AntrojoTrimestroVidurkis() + mokinys.TrecioTrimestroVidurkis()) / 3);
            Console.ReadLine();
        }
예제 #17
0
    public void Menu()
    {
        Console.WriteLine(defdir);
        string men;

        do
        {
            Console.WriteLine("Jeigu norite įvesti naują mokinį spauskite 1,\n Jeigu norite perskaityti mokinių sąrašą iš failo ir jį apdorojus atspausdinti, spaukite 2, \n jeigu norite matyti visų mokinių sąrašą - spauskite 3,\n jeigu norite sugeneruoti atsitiktinių įrašų failą ir jį apdoroti, spauskite 4, \n jeigu norite atlikti v0.5 tyrimo dalį, tai spauskite 5, \n jeigu norite, kad programa baigtų darbą, spauskite 0");
            men = Console.ReadLine();
            if (men == "1")
            {
                Mokinys mok = new Mokinys();
                mok.Enterdata();
                mokiniai.Add(mok);
            }
            else if (men == "2")
            {
                ReadF(defdir + @"\studentai.txt");
                mokiniai.Sort((s1, s2) => s1.pavarde.CompareTo(s2.pavarde));
                Console.WriteLine("{0,-20}{1,-20}{2,-20}{3,-20}", "Pavarde", "Vardas", "Galutinis(vid)", "Galutinis(Med.)");
                for (int i = 0; i < mokiniai.Count; i++)
                {
                    mokiniai[i].Printoof();
                }
            }
            else if (men == "3")
            {
                mokiniai.Sort((s1, s2) => s1.vardas.CompareTo(s2.vardas));
                string men4;
                Console.WriteLine("Jeigu norite kad galutinis pažimys būtų spausdinamas pagal namų darbų vidurkį, spauskite 1,\n jeigu norite kad galutinis pažimys būtų spausdinamas pagal medianą, spauskite 0");
                men4 = Console.ReadLine();
                if (men4 == "1")
                {
                    Console.WriteLine("{0,20}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");
                    for (int i = 0; i < mokiniai.Count; i++)
                    {
                        mokiniai[i].Printvid();
                    }
                }
                else if (men4 == "0")
                {
                    Console.WriteLine("{0,20}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(med)");
                    for (int i = 0; i < mokiniai.Count; i++)
                    {
                        mokiniai[i].Printmed();
                    }
                }
            }
            else if (men == "4")
            {
                refresh();
                DoFour("1.txt", 1000);
                refresh();
                DoFour("2.txt", 10000);
                refresh();
                DoFour("3.txt", 100000);
                refresh();
                DoFour("4.txt", 1000000);
                refresh();
                DoFour("5.txt", 10000000);
                refresh();

                /*var watch = new System.Diagnostics.Stopwatch();
                 * watch.Start();
                 * //Console.WriteLine("įveskite kiek failų ruošiaties generuoti");
                 * int f = 5;
                 * int fi = 100;//Convert.ToInt32(Console.ReadLine());
                 * for(int i=1;i<=f;i++)
                 * {
                 *  string filename = Convert.ToString(i) + ".txt";
                 *  Console.WriteLine("generuojamas "+filename);
                 *  fi *= 10;
                 *  string docPath = defdir;
                 *  StreamWriter outputFile = new StreamWriter(Path.Combine(docPath, filename));
                 *
                 *      outputFile.WriteLine("Vardas Pavarde nd1 nd2 nd3 nd4 nd5 Egzaminas");
                 *      for(int j=1;j<=fi;j++)
                 *      {
                 *          string vardas = "Vardas" + Convert.ToString(j);
                 *          string pavarde = "Pavarde" + Convert.ToString(j);
                 *          int nd1= random.Next(1, 10);
                 *          int nd2 = random.Next(1, 10);
                 *          int nd3 = random.Next(1, 10);
                 *          int nd4 = random.Next(1, 10);
                 *          int nd5 = random.Next(1, 10);
                 *          int egz=random.Next(1, 10);
                 *          string stud=vardas+" "+pavarde+" "+Convert.ToString(nd1) + " " + Convert.ToString(nd2) + " " + Convert.ToString(nd3) + " " + Convert.ToString(nd4)+" " + Convert.ToString(nd5) + " " + Convert.ToString(egz);
                 *      outputFile.WriteLine(stud);
                 *      List<int> nd = new List<int>();
                 *          nd.Add(nd1);
                 *          nd.Add(nd2);
                 *          nd.Add(nd3);
                 *          nd.Add(nd4);
                 *          nd.Add(nd5);
                 *          Mokinys mok = new Mokinys();
                 *          mok.Enterdataman(vardas,pavarde,nd,egz);
                 *          mokiniai.Add(mok);
                 *      }
                 *      mokiniai.Sort((s1, s2) => s1.galutinisvid.CompareTo(s2.galutinisvid));
                 *
                 *  outputFile.Close();
                 *
                 * }
                 * Console.WriteLine("Sukategoruojama į failus");
                 * string kat2 = "galvociai.txt";
                 * string kat1 = "vargsiukai.txt";
                 * StreamWriter outkat2 = new StreamWriter(Path.Combine(defdir, kat2), true);
                 * StreamWriter outkat1 = new StreamWriter(Path.Combine(defdir, kat1), true);
                 * outkat2.WriteLine("{0,30}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");
                 * outkat1.WriteLine("{0,20}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");
                 * for (int k=0;k<mokiniai.Count;k++)
                 * {
                 *  mokiniai[k].PrintFileb(outkat1, outkat2);
                 * }
                 * outkat1.Close();
                 * outkat2.Close();
                 * watch.Stop();
                 * Console.WriteLine($"Execution Time: {watch.ElapsedMilliseconds} ms");
                 */}
            else if (men == "5")
            {
                refresh();
                Console.WriteLine("Listo dydis" + mokiniai.Count);
                Console.WriteLine("Jeigu norite uzduoti padaryti 1 strategija, spauskite 1, \n jeiguo norite uzduoti padaryti 2 strategija,\n jeigu norite uzduoti padaryti savo metodu spauskite 3");
                DoFive("1.txt", "1");
                refresh();
                DoFive("2.txt", "1");
                refresh();
                DoFive("3.txt", "1");
                refresh();
                DoFive("4.txt", "1");
                refresh();
                DoFive("5.txt", "1");
                refresh();
                DoFive("1.txt", "2");
                refresh();
                DoFive("2.txt", "2");
                refresh();
                DoFive("3.txt", "2");
                refresh();
                DoFive("4.txt", "2");
                refresh();
                DoFive("5.txt", "2");
                refresh();
                DoFive("1.txt", "3");
                refresh();
                DoFive("2.txt", "3");
                refresh();
                DoFive("3.txt", "3");
                refresh();
                DoFive("4.txt", "3");
                refresh();
                DoFive("5.txt", "3");
                refresh();
            }
        } while (men != "0");

        Console.WriteLine("Programa darbą baigė");
    }
예제 #18
0
    public void DoFive(string fn, string m)
    {
        string strat = m;

        if (!File.Exists(fn))
        {
            Console.WriteLine("Nerasti failai.");
        }
        else if ((strat == "1") && File.Exists(fn))
        {
            Console.WriteLine("Naudojama 1 strategija su " + fn + " failu");
            ReadF(defdir + @"\" + fn);

            string docPat = defdir;
            var    watch  = new System.Diagnostics.Stopwatch();
            watch.Start();
            Console.WriteLine("Timer starts.");
            Console.WriteLine("Kategoruojama i 2 listus.");
            foreach (Mokinys mok in mokiniai)
            {
                if (mok.galutinisvid >= 5)
                {
                    galvociail.Add(mok);
                }
                else
                {
                    vargsiukail.Add(mok);
                }
            }
            Console.WriteLine("Spausdinami failai");
            string kat2 = "galvociai1.txt";
            string kat1 = "vargsiukai1.txt";


            StreamWriter outkat2 = new StreamWriter(Path.Combine(defdir, kat2), true);
            StreamWriter outkat1 = new StreamWriter(Path.Combine(defdir, kat1), true);
            outkat2.WriteLine("{0,30}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");
            outkat1.WriteLine("{0,20}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");
            foreach (Mokinys galv in galvociail)
            {
                galv.PrintFile(outkat2);
            }
            foreach (Mokinys varg in vargsiukail)
            {
                varg.PrintFile(outkat1);
            }
            outkat1.Close();
            outkat2.Close();
            watch.Stop();
            Console.WriteLine($"Execution Time: {watch.ElapsedMilliseconds} ms");


            var watch2 = new System.Diagnostics.Stopwatch();
            watch2.Start();
            Console.WriteLine("Timer starts.");
            Console.WriteLine("Kategoruojama i 2 linkedlist.");
            foreach (Mokinys mok in mokiniaill)
            {
                if (mok.galutinisvid >= 5)
                {
                    galvociaill.AddLast(mok);
                }
                else
                {
                    vargsiukaill.AddLast(mok);
                }
            }
            Console.WriteLine("Spausdinami failai");
            string kat4 = "galvociaill1.txt";
            string kat3 = "vargsiukaill1.txt";

            StreamWriter outkat4 = new StreamWriter(Path.Combine(defdir, kat4), true);
            StreamWriter outkat3 = new StreamWriter(Path.Combine(defdir, kat3), true);
            outkat4.WriteLine("{0,30}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");
            outkat3.WriteLine("{0,20}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");

            foreach (Mokinys galv in galvociaill)
            {
                galv.PrintFile(outkat4);
            }
            outkat4.Close();

            foreach (Mokinys varg in vargsiukaill)
            {
                varg.PrintFile(outkat3);
            }
            outkat3.Close();

            watch2.Stop();
            Console.WriteLine($"Execution Time: {watch2.ElapsedMilliseconds} ms");


            var watch3 = new System.Diagnostics.Stopwatch();
            watch3.Start();
            Console.WriteLine("Timer starts.");
            Console.WriteLine("Kategoruojama i 2 Queue.");
            foreach (Mokinys mok in mokiniaiq)
            {
                if (mok.galutinisvid >= 5)
                {
                    galvociaiq.Enqueue(mok);
                }
                else
                {
                    vargsiukaiq.Enqueue(mok);
                }
            }
            Console.WriteLine("Spausdinami failai");
            string kat6 = "galvociaiq1.txt";
            string kat5 = "vargsiukaiq1.txt";

            StreamWriter outkat6 = new StreamWriter(Path.Combine(defdir, kat6), true);
            StreamWriter outkat5 = new StreamWriter(Path.Combine(defdir, kat5), true);
            outkat6.WriteLine("{0,30}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");
            outkat5.WriteLine("{0,20}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");
            foreach (Mokinys galv in galvociaiq)
            {
                galv.PrintFile(outkat6);
            }
            outkat6.Close();

            foreach (Mokinys varg in vargsiukaiq)
            {
                varg.PrintFile(outkat5);
            }
            outkat5.Close();

            watch3.Stop();
            Console.WriteLine($"Execution Time: {watch3.ElapsedMilliseconds} ms");
        }
        else if ((strat == "2") && File.Exists(fn))
        {
            Console.WriteLine("2 strategija su " + fn + " failu");
            ReadF(defdir + @"\" + fn);
            Console.WriteLine(fn + " failas perskaitytas");

            var watch = new System.Diagnostics.Stopwatch();
            watch.Start();
            Console.WriteLine("Timer starts.");
            Console.WriteLine("Sukategoruojama į failus naudojant list.");


            Mokinys tarp = new Mokinys();


            foreach (Mokinys mok in mokiniai)
            {
                if (mok.galutinisvid < 5)
                {
                    vargsiukail.Add(mok);
                }
            }
            mokiniai.RemoveAll(mok => mok.galutinisvid < 5);
            galvociail = mokiniai;
            Console.WriteLine("Spausdinami failai");
            string kat2 = "galvociai2.txt";
            string kat1 = "vargsiukai2.txt";


            StreamWriter outkat2 = new StreamWriter(Path.Combine(defdir, kat2), true);
            StreamWriter outkat1 = new StreamWriter(Path.Combine(defdir, kat1), true);

            outkat2.WriteLine("{0,30}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");
            outkat1.WriteLine("{0,20}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");

            foreach (Mokinys galv in galvociail)
            {
                galv.PrintFile(outkat2);
            }
            foreach (Mokinys varg in vargsiukail)
            {
                varg.PrintFile(outkat1);
            }
            outkat1.Close();
            outkat2.Close();
            watch.Stop();
            Console.WriteLine($"Execution Time: {watch.ElapsedMilliseconds} ms");


            var watch2 = new System.Diagnostics.Stopwatch();
            watch2.Start();
            Console.WriteLine("Timer starts.");
            Console.WriteLine("Kategoruojama i 2 linkedlist.");

            var node = mokiniaill.First;

            foreach (Mokinys mok in mokiniaill)
            {
                if (mok.galutinisvid < 5)
                {
                    vargsiukaill.AddLast(mok);
                }
            }

            while (node != null)
            {
                var nextNode = node.Next;

                if (node.Value.galutinisvid < 5)
                {
                    mokiniaill.Remove(node);
                }
                node = nextNode;
            }

            galvociaill = mokiniaill;
            Console.WriteLine("Spausdinami failai");
            string kat4 = "galvociaill2.txt";
            string kat3 = "vargsiukaill2.txt";

            StreamWriter outkat4 = new StreamWriter(Path.Combine(defdir, kat4), true);
            StreamWriter outkat3 = new StreamWriter(Path.Combine(defdir, kat3), true);
            outkat4.WriteLine("{0,30}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");
            outkat3.WriteLine("{0,20}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");

            foreach (Mokinys galv in galvociaill)
            {
                galv.PrintFile(outkat4);
            }

            foreach (Mokinys varg in vargsiukaill)
            {
                varg.PrintFile(outkat3);
            }
            outkat4.Close();
            outkat3.Close();
            watch2.Stop();
            Console.WriteLine($"Execution Time: {watch2.ElapsedMilliseconds} ms");


            var watch3 = new System.Diagnostics.Stopwatch();
            watch3.Start();
            Console.WriteLine("Timer starts.");
            Console.WriteLine("Kategoruojama i 2 Queue.");
            foreach (Mokinys mok in mokiniaiq)
            {
                if (mok.galutinisvid < 5)
                {
                    vargsiukaiq.Enqueue(mok);
                }
            }

            galvociaiq = new Queue <Mokinys>(mokiniaiq.Where(x => x.galutinisvid < 5));

            Console.WriteLine("Spausdinami failai");
            string kat6 = "galvociaiq2.txt";
            string kat5 = "vargsiukaiq2.txt";

            StreamWriter outkat6 = new StreamWriter(Path.Combine(defdir, kat6), true);
            StreamWriter outkat5 = new StreamWriter(Path.Combine(defdir, kat5), true);

            outkat6.WriteLine("{0,30}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");
            outkat5.WriteLine("{0,20}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");

            foreach (Mokinys galv in galvociaiq)
            {
                galv.PrintFile(outkat6);
            }

            foreach (Mokinys varg in vargsiukaiq)
            {
                varg.PrintFile(outkat5);
            }
            outkat6.Close();
            outkat5.Close();
            watch3.Stop();
            Console.WriteLine($"Execution Time: {watch3.ElapsedMilliseconds} ms");
        }
        else if ((strat == "3") && File.Exists(fn))
        {
            Console.WriteLine("3 strategija su " + fn + " failu");
            ReadF(defdir + @"\" + fn);
            Console.WriteLine(fn + " failas perskaitytas");
            var watch = new System.Diagnostics.Stopwatch();
            watch.Start();
            Console.WriteLine("Timer starts.");
            Console.WriteLine("Sukategoruojama į failus naudojant list.");
            string kat2 = "galvociai3.txt";
            string kat1 = "vargsiukai3.txt";


            StreamWriter outkat2 = new StreamWriter(Path.Combine(defdir, kat2), true);
            StreamWriter outkat1 = new StreamWriter(Path.Combine(defdir, kat1), true);
            outkat2.WriteLine("{0,30}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");
            outkat1.WriteLine("{0,20}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");

            foreach (Mokinys mok in mokiniai)
            {
                mok.PrintFileb(outkat1, outkat2);
            }
            outkat1.Close();
            outkat2.Close();
            watch.Stop();
            Console.WriteLine($"Execution Time: {watch.ElapsedMilliseconds} ms");

            var watch2 = new System.Diagnostics.Stopwatch();
            watch2.Start();
            Console.WriteLine("Timer starts.");
            Console.WriteLine("Sukategoruojama į failus naudojant linkedlist.");

            string kat4 = "galvociaill3.txt";
            string kat3 = "vargsiukaill3.txt";

            StreamWriter outkat4 = new StreamWriter(Path.Combine(defdir, kat4), true);
            StreamWriter outkat3 = new StreamWriter(Path.Combine(defdir, kat3), true);

            outkat4.WriteLine("{0,30}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");
            outkat3.WriteLine("{0,20}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");

            foreach (Mokinys mok in mokiniaill)
            {
                mok.PrintFileb(outkat3, outkat4);
            }
            outkat3.Close();
            outkat4.Close();
            watch2.Stop();
            Console.WriteLine($"Execution Time: {watch2.ElapsedMilliseconds} ms");

            var watch3 = new System.Diagnostics.Stopwatch();
            watch3.Start();
            Console.WriteLine("Timer starts.");
            Console.WriteLine("Sukategoruojama į failus naudojant queue.");

            string       kat6    = "galvociaiq3.txt";
            string       kat5    = "vargsiukaiq3.txt";
            StreamWriter outkat6 = new StreamWriter(Path.Combine(defdir, kat6), true);
            StreamWriter outkat5 = new StreamWriter(Path.Combine(defdir, kat5), true);
            outkat6.WriteLine("{0,30}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");
            outkat5.WriteLine("{0,20}{1,20}{2,20}", "Vardas", "Pavarde", "Galutinis(vid)");

            foreach (Mokinys mok in mokiniaiq)
            {
                mok.PrintFileb(outkat5, outkat6);
            }
            outkat5.Close();
            outkat6.Close();
            watch3.Stop();
            Console.WriteLine($"Execution Time: {watch3.ElapsedMilliseconds} ms");
        }
        else
        {
            Console.WriteLine("Ivedete netaisiklinga komanda.");
        }
    }