Advertisement
Guest User

Untitled

a guest
Oct 16th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 29.87 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace Individuali_uzduotis_U1_3
  9. {
  10.     class Program
  11.     {
  12.         const string CFp = @"Paliko20.csv";
  13.         const string CFs = @"Seniai.csv";
  14.         /// <summary>
  15.     /// nuskaitomas studentų duomenų failas ir suskaidomos eilutės į kintamuosius, duomenys įdedami į sąrašą
  16.     /// </summary>
  17.     /// <returns>grazina studentų sąrašą</returns>
  18.         Konteineris Skaityti()
  19.         {
  20.             Konteineris duomenys = new Konteineris();
  21.             string[] failas = File.ReadAllLines(@"L1Data2.csv");
  22.             foreach (string duom in failas)
  23.             {
  24.                 string[] reiksme = duom.Split(';');
  25.  
  26.  
  27.                 string pavarde = reiksme[0];
  28.                 string vardas = reiksme[1];
  29.                 int gimimodataMetai = Convert.ToInt32(reiksme[2]);
  30.                 int gimimodataMen = Convert.ToInt32(reiksme[3]);
  31.                 int gimimodataDiena = Convert.ToInt32(reiksme[4]);
  32.                 string pazymejimonr = reiksme[5];
  33.                 int kursas = Convert.ToInt32(reiksme[6]);
  34.                 int telefononr = Convert.ToInt32(reiksme[7]);
  35.                 int arfuksas = Convert.ToInt32(reiksme[8]);
  36.                 Studentas Studentai = new Studentas(pavarde, vardas, gimimodataMetai, gimimodataMen, gimimodataDiena, pazymejimonr, kursas, telefononr, arfuksas);
  37.                 duomenys.PridetiStudenta(Studentai);
  38.  
  39.             }
  40.             return duomenys;
  41.         }
  42.         /// <summary>
  43.         /// nuskaitomas mėnesių duomenų failas ir suskaidomos eilutės į kintamuosius, duomenys įdedami į sąrašą
  44.         /// </summary>
  45.         /// <returns>mėnesių duomenų sąrašas</returns>
  46.         List<MenesisInfo> Skaityti2()
  47.         {
  48.             List<MenesisInfo> duomenysMen = new List<MenesisInfo>();
  49.             string[] failas = File.ReadAllLines(@"Menesiai.csv");
  50.             foreach (string duom in failas)
  51.             {
  52.                 string[] reiksme = duom.Split(';');
  53.  
  54.  
  55.                 int menuo = Convert.ToInt32(reiksme[0]);
  56.                 int kartai = Convert.ToInt32(reiksme[1]);
  57.                 string menpavadinimas = reiksme[2];
  58.                 MenesisInfo Menes = new MenesisInfo(menuo, kartai, menpavadinimas);
  59.                 duomenysMen.Add(Menes);
  60.  
  61.             }
  62.             return duomenysMen;
  63.         }
  64.         /// <summary>
  65.         /// sukuriamas listas mėnesių 2016 metams
  66.         /// </summary>
  67.         /// <returns></returns>
  68.         List<MenesisInfo> Skaityti3()
  69.         {
  70.             List<MenesisInfo> duomenysSesiolMen = new List<MenesisInfo>();
  71.             string[] failas = File.ReadAllLines(@"Menesiai.csv");
  72.             foreach (string duom in failas)
  73.             {
  74.                 string[] reiksme = duom.Split(';');
  75.  
  76.  
  77.                 int menuo = Convert.ToInt32(reiksme[0]);
  78.                 int kartai = Convert.ToInt32(reiksme[1]);
  79.                 string menpavadinimas = reiksme[2];
  80.                 MenesisInfo Menes = new MenesisInfo(menuo, kartai, menpavadinimas);
  81.                 duomenysSesiolMen.Add(Menes);
  82.  
  83.             }
  84.             return duomenysSesiolMen;
  85.         }
  86.         /// <summary>
  87.         /// sukuriamas listas mėnesių 2017 metams
  88.         /// </summary>
  89.         /// <returns></returns>
  90.         List<MenesisInfo> Skaityti4()
  91.         {
  92.             List<MenesisInfo> duomenysSeptynMen = new List<MenesisInfo>();
  93.             string[] failas = File.ReadAllLines(@"Menesiai.csv");
  94.             foreach (string duom in failas)
  95.             {
  96.                 string[] reiksme = duom.Split(';');
  97.  
  98.  
  99.                 int menuo = Convert.ToInt32(reiksme[0]);
  100.                 int kartai = Convert.ToInt32(reiksme[1]);
  101.                 string menpavadinimas = reiksme[2];
  102.                 MenesisInfo Menes = new MenesisInfo(menuo, kartai, menpavadinimas);
  103.                 duomenysSeptynMen.Add(Menes);
  104.  
  105.             }
  106.             return duomenysSeptynMen;
  107.         }
  108.  
  109.         /// <summary>
  110.         /// Apskaičiuojama kiek yra fuksų
  111.         /// </summary>
  112.         /// <param name="duomenys"></param>
  113.         /// <returns></returns>
  114.         int KiekYraFuksu(Konteineris duomenys) // skaičiuojama kiek yra fuksų
  115.         {
  116.             int fuksuKiekis = 0;
  117.             for (int i = 0; i < duomenys.Kiekis; i++)
  118.             {
  119.                 if (duomenys.GautiStudenta(i).ArFuksas == 1)
  120.                 {
  121.                     fuksuKiekis++;
  122.                 }
  123.             }
  124.             return fuksuKiekis;
  125.         }
  126.         /// <summary>
  127.         /// Apskaičiuojama kiek studentų kurį mėnesį švenčia gimatadienį
  128.         /// </summary>
  129.         /// <param name="duomenys"></param>
  130.         /// <param name="duomenysMen"></param>
  131.         /// <returns></returns>
  132.         int KiekStudentuKuriMenesiSvenciaGimtadieni(Konteineris duomenys, List<MenesisInfo> duomenysMen) // skaičiuojama kiek studentų kiekvieną mėnesį švenčia gimtadienius
  133.         {
  134.  
  135.             int laikinas = 0;
  136.  
  137.             for (int i = 0; i < duomenys.Kiekis; i++)
  138.             {
  139.                 for (int c = 0; c < duomenysMen.Count; c++)
  140.                 {
  141.                     if (duomenys.GautiStudenta(i).GimimodataMen == duomenysMen[c].Menuo)
  142.                     {
  143.                         duomenysMen[c].Kartai++;
  144.                         laikinas = duomenysMen[c].Kartai;
  145.                     }
  146.                     else
  147.                     {
  148.  
  149.                     }
  150.                 }
  151.             }
  152.  
  153.             return laikinas;
  154.         }
  155.         /// <summary>
  156.         /// apskaičiuoja kiek kurį mėnesį studentai švenčia gimtadieni 2016 metais
  157.         /// </summary>
  158.         /// <param name="sesiolikti"></param>
  159.         /// <param name="duomenysSesiolMen"></param>
  160.         /// <returns></returns>
  161.         int KiekStudentuKuriMenesiSvenciaGimtadieniSesioliktais(Konteineris sesiolikti, List<MenesisInfo> duomenysSesiolMen) // skaičiuojama kiek studentų kiekvieną mėnesį švenčia gimtadienius
  162.         {
  163.  
  164.             int sesiolLaikinas = 0;
  165.  
  166.             for (int i = 0; i < sesiolikti.Kiekis; i++)
  167.             {
  168.                 for (int c = 0; c < duomenysSesiolMen.Count; c++)
  169.                 {
  170.                     if (sesiolikti.GautiStudenta(i).GimimodataMen == duomenysSesiolMen[c].Menuo)
  171.                     {
  172.                         duomenysSesiolMen[c].Kartai++;
  173.                         sesiolLaikinas = duomenysSesiolMen[c].Kartai;
  174.                     }
  175.                     else
  176.                     {
  177.  
  178.                     }
  179.                 }
  180.             }
  181.  
  182.             return sesiolLaikinas;
  183.         }
  184.         /// <summary>
  185.         /// apskaičiuoja kiek kurį mėnesį gimtadienius švenčia 2017 metais
  186.         /// </summary>
  187.         /// <param name="septyniolikti"></param>
  188.         /// <param name="duomenysSeptynMen"></param>
  189.         /// <returns></returns>
  190.         int KiekStudentuKuriMenesiSvenciaGimtadieniSeptynioliktais(Konteineris septyniolikti, List<MenesisInfo> duomenysSeptynMen) // skaičiuojama kiek studentų kiekvieną mėnesį švenčia gimtadienius
  191.         {
  192.  
  193.             int septynLaikinas = 0;
  194.  
  195.             for (int i = 0; i < septyniolikti.Kiekis; i++)
  196.             {
  197.                 for (int c = 0; c < duomenysSeptynMen.Count; c++)
  198.                 {
  199.                     if (septyniolikti.GautiStudenta(i).GimimodataMen == duomenysSeptynMen[c].Menuo)
  200.                     {
  201.                         duomenysSeptynMen[c].Kartai++;
  202.                         septynLaikinas = duomenysSeptynMen[c].Kartai;
  203.                     }
  204.                     else
  205.                     {
  206.  
  207.                     }
  208.                 }
  209.             }
  210.  
  211.             return septynLaikinas;
  212.         }
  213.         /// <summary>
  214.         /// Apskaičiuojama kurį mėnesį svenčiama daugiausiai gimtadienių
  215.         /// </summary>
  216.         /// <param name="duomenysMen"></param>
  217.         /// <returns></returns>
  218.         int KuriMenesiSvenciamaDaugiausiaiGimtadieniu(List<MenesisInfo> duomenysMen) // apskaičiuojma kurį mėnesį daugiausiai studentų švenčia gimtadienius
  219.         {
  220.             int did = 0;
  221.             int menuo = 0;
  222.             for (int i = 0; i < duomenysMen.Count; i++)
  223.             {
  224.                 if (did < duomenysMen[i].Kartai)
  225.                 {
  226.                     did = duomenysMen[i].Kartai;
  227.                     menuo = duomenysMen[i].Menuo;
  228.                 }
  229.             }
  230.             return menuo;
  231.         }
  232.         /// <summary>
  233.         /// Apskaičiuojama kurį mėnesį svenčiama daugiausiai gimtadienių 2016 metais
  234.         /// </summary>
  235.         /// <param name="duomenysMen"></param>
  236.         /// <returns></returns>
  237.         string KuriMenesiSvenciamaDaugiausiaiGimtadieniuSesioliktais(List<MenesisInfo> duomenysSesiolMen) // apskaičiuojma kurį mėnesį daugiausiai studentų švenčia gimtadienius
  238.         {
  239.             int sesiolKartai = 0;
  240.             string sesiolMen = "";
  241.             string sesiolEilute = "";
  242.             for (int i = 0; i < duomenysSesiolMen.Count; i++)
  243.             {
  244.                 if (sesiolKartai < duomenysSesiolMen[i].Kartai)
  245.                 {
  246.                     sesiolKartai = duomenysSesiolMen[i].Kartai;
  247.                     sesiolMen = duomenysSesiolMen[i].MenPavadinimas;
  248.                 }
  249.             }
  250.             sesiolEilute = String.Format("Daugiausia 2016 metais gimtadienius šventė {0} menesi", sesiolMen);
  251.             return sesiolEilute;
  252.         }
  253.         /// <summary>
  254.         /// Apskaičiuojama kurį mėnesį svenčiama daugiausiai gimtadienių 2017 metais
  255.         /// </summary>
  256.         /// <param name="duomenysMen"></param>
  257.         /// <returns></returns>
  258.         string KuriMenesiSvenciamaDaugiausiaiGimtadieniuSeptynioliktais(List<MenesisInfo> duomenysSeptynMen) // apskaičiuojma kurį mėnesį daugiausiai studentų švenčia gimtadienius
  259.         {
  260.             int septynKartai = 0;
  261.             string septynMen = "";
  262.             string septynEilute = "";
  263.             for (int i = 0; i < duomenysSeptynMen.Count; i++)
  264.             {
  265.                 if (septynKartai < duomenysSeptynMen[i].Kartai)
  266.                 {
  267.                     septynKartai = duomenysSeptynMen[i].Kartai;
  268.                     septynMen = duomenysSeptynMen[i].MenPavadinimas;
  269.                 }
  270.             }
  271.             septynEilute = String.Format("Daugiausia 2017 metais gimtadienius šventė {0} menesi", septynMen);
  272.             return septynEilute;
  273.         }
  274.        
  275.         /// <summary>
  276.         /// sudaromas pirmakursių sąrašas
  277.         /// </summary>
  278.         /// <param name="duomenys"></param>
  279.         List<string> Pirmakursiai(Konteineris duomenys)
  280.         {
  281.             string fuksas;
  282.             string pirmaKursioEilute;
  283.             List<string> pirmakursiai = new List<string>();
  284.             for(int i = 0; i < duomenys.Kiekis; i++)
  285.             {
  286.                 if(duomenys.GautiStudenta(i).Kursas == 1)
  287.                 {
  288.                     if(duomenys.GautiStudenta(i).ArFuksas == 1)
  289.                     {
  290.                        fuksas = "Taip";
  291.                     }
  292.                     else
  293.                     {
  294.                        fuksas = "Ne";
  295.                     }
  296.                     pirmaKursioEilute = String.Format("Vardas: {0}, Pavarde: {1}, Gimimo data: {2}-{3}-{4}, LSP nr.: {5}, Kursas: {6}, Telefono nr.: {7}, Ar fuksas?: {8}",
  297.                            duomenys.GautiStudenta(i).Vardas, duomenys.GautiStudenta(i).Pavarde, duomenys.GautiStudenta(i).GimimodataMetai, duomenys.GautiStudenta(i).GimimodataMen, duomenys.GautiStudenta(i).GimimodataDiena, duomenys.GautiStudenta(i).Pazymejimonr, duomenys.GautiStudenta(i).Kursas, duomenys.GautiStudenta(i).Telefononr, fuksas);
  298.                     pirmakursiai.Add(pirmaKursioEilute);
  299.                 }
  300.                    
  301.             }
  302.             return pirmakursiai;
  303.         }
  304.         /// <summary>
  305.         /// Spausdina pirmakursius
  306.         /// </summary>
  307.         /// <param name="pirmakursiai"></param>
  308.         void RasauPirmakursius(List<string> pirmakursiai)
  309.         {
  310.             string failopav = "Pirmakursiai.csv";
  311.             StreamWriter Rasau;
  312.             Rasau = File.CreateText(failopav);
  313.             for (int i = 0; i < pirmakursiai.Count; i++)
  314.             {
  315.                 string pEilute = pirmakursiai[i];
  316.                 Rasau.WriteLine(pEilute);
  317.             }
  318.             Rasau.Close();
  319.         }
  320.         /// <summary>
  321.         /// sudaromas ketvirto kurso studentų sąrašas
  322.         /// </summary>
  323.         /// <param name="duomenys"></param>
  324.         List<string> Ketvirtakursiai (Konteineris duomenys)
  325.         {
  326.             string eilute;
  327.             string fuksas;
  328.             List<string> ketvirtakursiai = new List<string>();
  329.             for (int i = 0; i < duomenys.Kiekis; i++)
  330.             {
  331.                 if(duomenys.GautiStudenta(i).Kursas == 4)
  332.                 {
  333.                     if(duomenys.GautiStudenta(i).ArFuksas == 1)
  334.                     {
  335.                         fuksas = "Taip";
  336.                     }
  337.                     else
  338.                     {
  339.                         fuksas = "Ne";
  340.                     }
  341.                     eilute = String.Format("Vardas: {0}, Pavarde: {1}, Gimimo data: {2}-{3}-{4}, LSP nr.: {5}, Kursas: {6}, Telefono nr.: {7}, Ar fuksas?: {8}",
  342.                         duomenys.GautiStudenta(i).Vardas, duomenys.GautiStudenta(i).Pavarde, duomenys.GautiStudenta(i).GimimodataMetai, duomenys.GautiStudenta(i).GimimodataMen, duomenys.GautiStudenta(i).GimimodataDiena, duomenys.GautiStudenta(i).Pazymejimonr, duomenys.GautiStudenta(i).Kursas, duomenys.GautiStudenta(i).Telefononr, fuksas);
  343.                     ketvirtakursiai.Add(eilute);
  344.                 }
  345.             }
  346.             return ketvirtakursiai;
  347.         }
  348.         /// <summary>
  349.         /// spausdinami ketvirto kurso studentai
  350.         /// </summary>
  351.         /// <param name="ketvirtakursiai"></param>
  352.         void RasauKetvirtakursius(List<string> ketvirtakursiai)
  353.         {
  354.             string failopav = "Ketvirtakursiai.csv";
  355.             StreamWriter Rasau;
  356.             Rasau = File.CreateText(failopav);
  357.             for (int i = 0; i < ketvirtakursiai.Count; i++)
  358.             {
  359.                 string eilute = ketvirtakursiai[i];
  360.                 Rasau.WriteLine(eilute);
  361.             }
  362.             Rasau.Close();
  363.         }
  364.         /// <summary>
  365.         /// Spausdinu duomenų failo duomenis į failą
  366.         /// </summary>
  367.         /// <param name="duomenys"></param>
  368.         void SpausdinuDuomenuFaila(Konteineris duomenys, Konteineris sesiolikti, Konteineris septyniolikti)
  369.         {
  370.  
  371.             string failopavadinimas = "duomenufailaslenteleje.txt";
  372.             StreamWriter Rasau;
  373.             Rasau = File.CreateText(failopavadinimas);
  374.  
  375.             Rasau.WriteLine("Spausdinami duomenys iš duomenų failo: ");
  376.             Rasau.WriteLine(new String('-', 135));
  377.  
  378.             Rasau.WriteLine("{0,-20} {1,-20} {2,-6} {3,-6} {4, -6} {5, -10} {6, -8} {7, -5} {8, -5}", "| Vardas ", "| Pavardė ", "| Gimimo metai ", "| Gimimo mėnuo", "| Gimimo diena ", "| LSP nr ", "| Kursas ", "| Tel.nr ", "| Ar fuksas? ");
  379.             Rasau.WriteLine(new String('-', 135));
  380.             for (int i = 0; i < duomenys.Kiekis; i++)
  381.  
  382.             {
  383.  
  384.                 Rasau.WriteLine("| {0,-18} | {1,-18} | {2,-13} | {3,-13} | {4,-13} | {5,-5} | {6,-7} | {7,-5} | {8,-5}", duomenys.GautiStudenta(i).Vardas, duomenys.GautiStudenta(i).Pavarde, duomenys.GautiStudenta(i).GimimodataMetai, duomenys.GautiStudenta(i).GimimodataMen, duomenys.GautiStudenta(i).GimimodataDiena, duomenys.GautiStudenta(i).Pazymejimonr, duomenys.GautiStudenta(i).Kursas, duomenys.GautiStudenta(i).Telefononr, duomenys.GautiStudenta(i).ArFuksas);
  385.             }
  386.             Rasau.WriteLine(new String('-', 135));
  387.             Rasau.WriteLine("Spausdinami duomenys iš 2016 metu duomenų failo: ");
  388.             Rasau.WriteLine(new String('-', 135));
  389.  
  390.             Rasau.WriteLine("{0,-20} {1,-20} {2,-6} {3,-6} {4, -6} {5, -10} {6, -8} {7, -5} {8, -5}", "| Vardas ", "| Pavardė ", "| Gimimo metai ", "| Gimimo mėnuo", "| Gimimo diena ", "| LSP nr ", "| Kursas ", "| Tel.nr ", "| Ar fuksas? ");
  391.             Rasau.WriteLine(new String('-', 135));
  392.             for (int i = 0; i < sesiolikti.Kiekis; i++)
  393.  
  394.             {
  395.  
  396.                 Rasau.WriteLine("| {0,-18} | {1,-18} | {2,-13} | {3,-13} | {4,-13} | {5,-5} | {6,-7} | {7,-5} | {8,-5}", sesiolikti.GautiStudenta(i).Vardas, sesiolikti.GautiStudenta(i).Pavarde, sesiolikti.GautiStudenta(i).GimimodataMetai, sesiolikti.GautiStudenta(i).GimimodataMen, sesiolikti.GautiStudenta(i).GimimodataDiena, sesiolikti.GautiStudenta(i).Pazymejimonr, sesiolikti.GautiStudenta(i).Kursas, sesiolikti.GautiStudenta(i).Telefononr, sesiolikti.GautiStudenta(i).ArFuksas);
  397.             }
  398.             Rasau.WriteLine(new String('-', 135));
  399.             Rasau.WriteLine("Spausdinami duomenys iš 2017 metu duomenų failo: ");
  400.             Rasau.WriteLine(new String('-', 135));
  401.  
  402.             Rasau.WriteLine("{0,-20} {1,-20} {2,-6} {3,-6} {4, -6} {5, -10} {6, -8} {7, -5} {8, -5}", "| Vardas ", "| Pavardė ", "| Gimimo metai ", "| Gimimo mėnuo", "| Gimimo diena ", "| LSP nr ", "| Kursas ", "| Tel.nr ", "| Ar fuksas? ");
  403.             Rasau.WriteLine(new String('-', 135));
  404.             for (int i = 0; i < septyniolikti.Kiekis; i++)
  405.  
  406.             {
  407.  
  408.                 Rasau.WriteLine("| {0,-18} | {1,-18} | {2,-13} | {3,-13} | {4,-13} | {5,-5} | {6,-7} | {7,-5} | {8,-5}", septyniolikti.GautiStudenta(i).Vardas, septyniolikti.GautiStudenta(i).Pavarde, septyniolikti.GautiStudenta(i).GimimodataMetai, septyniolikti.GautiStudenta(i).GimimodataMen, septyniolikti.GautiStudenta(i).GimimodataDiena, septyniolikti.GautiStudenta(i).Pazymejimonr, septyniolikti.GautiStudenta(i).Kursas, septyniolikti.GautiStudenta(i).Telefononr, septyniolikti.GautiStudenta(i).ArFuksas);
  409.             }
  410.             Rasau.WriteLine(new String('-', 135));
  411.             Rasau.Close();
  412.  
  413.         }
  414.         /// <summary>
  415.         /// sukuriamas 2016 metų studentų konteineris
  416.         /// </summary>
  417.         /// <returns></returns>
  418.         Konteineris MetaiSesiolikti()
  419.         {
  420.             Konteineris sesiolikti = new Konteineris();
  421.             string[] eilutes = File.ReadAllLines(@"Data2016.csv");
  422.             string metai = eilutes[0];
  423.             for(int i = 1; i < eilutes.Count(); i++)
  424.             {
  425.                 string[] reiksme = eilutes[i].Split(';');
  426.                 string pavarde = reiksme[0];
  427.                 string vardas = reiksme[1];
  428.                 int gimimodataMetai = Convert.ToInt32(reiksme[2]);
  429.                 int gimimodataMen = Convert.ToInt32(reiksme[3]);
  430.                 int gimimodataDiena = Convert.ToInt32(reiksme[4]);
  431.                 string pazymejimonr = reiksme[5];
  432.                 int kursas = Convert.ToInt32(reiksme[6]);
  433.                 int telefononr = Convert.ToInt32(reiksme[7]);
  434.                 int arfuksas = Convert.ToInt32(reiksme[8]);
  435.                 Studentas sesioliktinis = new Studentas(pavarde, vardas, gimimodataMetai, gimimodataMen, gimimodataDiena, pazymejimonr, kursas, telefononr, arfuksas);
  436.                 sesiolikti.PridetiStudenta(sesioliktinis);
  437.             }
  438.             return sesiolikti;
  439.         }
  440.         /// <summary>
  441.         /// sukuriamas 2017 metų studentų konteineris
  442.         /// </summary>
  443.         /// <returns></returns>
  444.         Konteineris MetaiSeptyniolikti()
  445.         {
  446.             Konteineris septyniolikti = new Konteineris();
  447.             string[] eilutes = File.ReadAllLines(@"Data2017.csv");
  448.             string metai = eilutes[0];
  449.             for (int i = 1; i < eilutes.Count(); i++)
  450.             {
  451.                 string[] reiksme = eilutes[i].Split(';');
  452.                 string pavarde = reiksme[0];
  453.                 string vardas = reiksme[1];
  454.                 int gimimodataMetai = Convert.ToInt32(reiksme[2]);
  455.                 int gimimodataMen = Convert.ToInt32(reiksme[3]);
  456.                 int gimimodataDiena = Convert.ToInt32(reiksme[4]);
  457.                 string pazymejimonr = reiksme[5];
  458.                 int kursas = Convert.ToInt32(reiksme[6]);
  459.                 int telefononr = Convert.ToInt32(reiksme[7]);
  460.                 int arfuksas = Convert.ToInt32(reiksme[8]);
  461.                 Studentas septynioliktinis = new Studentas(pavarde, vardas, gimimodataMetai, gimimodataMen, gimimodataDiena, pazymejimonr, kursas, telefononr, arfuksas);
  462.                 septyniolikti.PridetiStudenta(septynioliktinis);
  463.             }
  464.             return septyniolikti;
  465.         }
  466.         /// <summary>
  467.         /// apskaičiuoja kuriais metais daugiausia fuksų
  468.         /// </summary>
  469.         /// <param name="duomenys"></param>
  470.         /// <param name="sesiolikti"></param>
  471.         /// <param name="septyniolikti"></param>
  472.         /// <returns></returns>
  473.         string DaugiausiaFuksu(Konteineris duomenys, Konteineris sesiolikti, Konteineris septyniolikti)
  474.         {
  475.             int maximumas = 0;
  476.             string maxas = "";
  477.             int kiekDabar = 0;
  478.             int kiekSesioliktais = 0;
  479.             int kiekSeptynioliktais = 0;
  480.             for (int i = 0; i < duomenys.Kiekis; i++)
  481.             {
  482.                 var fuksas = duomenys.GautiStudenta(i);
  483.                 {
  484.                 if (fuksas.ArFuksas == 1)
  485.                 {
  486.                     kiekDabar++;
  487.                 }
  488.             }
  489.             }
  490.             for(int i = 0; i < sesiolikti.Kiekis; i++)
  491.             {
  492.                 var fuksasSesiolika = sesiolikti.GautiStudenta(i);
  493.                 if (fuksasSesiolika.ArFuksas == 1)
  494.                 {
  495.                     kiekSesioliktais++;
  496.                 }
  497.             }
  498.             for (int i = 0; i < septyniolikti.Kiekis; i++)
  499.             {
  500.                 var fuksasSeptyniolika = septyniolikti.GautiStudenta(i);
  501.                
  502.                 if (fuksasSeptyniolika.ArFuksas == 1)
  503.                 {
  504.                     kiekSeptynioliktais++;
  505.                 }
  506.                
  507.             }
  508.             maximumas = Math.Max(kiekDabar, Math.Max(kiekSesioliktais, kiekSeptynioliktais));
  509.             if (maximumas == kiekDabar)
  510.             {
  511.                 maxas = String.Format("Daugiausia fuksų šiais metais: {0}", maximumas);
  512.             }
  513.             else if (maximumas == kiekSesioliktais)
  514.             {
  515.                 maxas = String.Format("Daugiausia fuksų 2016 metais: {0}", maximumas);
  516.             }
  517.             else if (maximumas == kiekSeptynioliktais)
  518.             {
  519.                 maxas = String.Format("Daugiausia fuksų 2017 metais: {0}", maximumas);
  520.             }
  521.             return maxas;
  522.         }
  523.         /// <summary>
  524.         /// spausdina kuriais metais daugiausia fuksų
  525.         /// </summary>
  526.         /// <param name="duomenys"></param>
  527.         /// <param name="sesiolikti"></param>
  528.         /// <param name="septyniolikti"></param>
  529.         void SpausdinuFuksus(Konteineris duomenys, Konteineris sesiolikti, Konteineris septyniolikti)
  530.         {
  531.             string maxas;
  532.             maxas = DaugiausiaFuksu(duomenys, sesiolikti, septyniolikti);
  533.             Console.WriteLine("{0}", maxas);
  534.         }
  535.         /// <summary>
  536.         /// išvedama į konsolę informacija apie tai,kiek yra fuksų.
  537.         /// </summary>
  538.         /// <param name="args"></param>
  539.         Konteineris ParuosimasKonteineriui (Konteineris sesiolikti, Konteineris septyniolikti)
  540.         {
  541.             Konteineris konteineris = new Konteineris();
  542.             for(int i = 0; i < sesiolikti.Kiekis; i++)
  543.             {
  544.                     var sesioliktinis = sesiolikti.GautiStudenta(i);
  545.                     if (!septyniolikti.Contains(sesioliktinis))
  546.                     {  
  547.                         konteineris.PridetiStudenta(sesioliktinis);    
  548.                     }
  549.                    
  550.             }
  551.             return konteineris;
  552.         }
  553.         /// <summary>
  554.         /// sukuriamas konteineris studentams kurie atstovo SA visus tris metus
  555.         /// </summary>
  556.         /// <param name="sesiolikti"></param>
  557.         /// <param name="septyniolikti"></param>
  558.         /// <param name="duomenys"></param>
  559.         /// <returns></returns>
  560.         Konteineris Trimeciai (Konteineris sesiolikti, Konteineris septyniolikti, Konteineris duomenys)
  561.         {
  562.             Konteineris konteineris = new Konteineris();
  563.             for (int i = 0; i < duomenys.Kiekis; i++)
  564.             {
  565.                 var dabartinis = duomenys.GautiStudenta(i);
  566.                 if(septyniolikti.Contains(dabartinis) && sesiolikti.Contains(dabartinis))
  567.                 {
  568.                     konteineris.PridetiStudenta(dabartinis);
  569.                 }
  570.             }
  571.             return konteineris;
  572.         }
  573.         /// <summary>
  574.         /// spausdina studentus kurie atstovavo SA visus tris metus
  575.         /// </summary>
  576.         /// <param name="trimeciai"></param>
  577.         void SpausdintiTrimecius(Konteineris trimeciai)
  578.         {
  579.             string[] eilute = new string[trimeciai.Kiekis];
  580.             for (int i = 0; i < trimeciai.Kiekis; i++)
  581.             {  
  582.                 Studentas trimetis = trimeciai.GautiStudenta(i);
  583.                 eilute[i] = String.Format("{0} {1} {2} {3} {4} {5} {6} {7}", trimetis.Vardas, trimetis.Pavarde, trimetis.GimimodataMetai, trimetis.GimimodataMen, trimetis.GimimodataDiena, trimetis.Pazymejimonr, trimetis.Kursas, trimetis.Telefononr);
  584.                 File.WriteAllLines(CFs, eilute);
  585.             }
  586.         }
  587.         /// <summary>
  588.         /// spausdina studentus kurie praeitais metais paliko SA
  589.         /// </summary>
  590.         /// <param name="konteineris"></param>
  591.         void SpausdinuPaliktus(Konteineris konteineris)
  592.         {
  593.             string[] eilute = new string[konteineris.Kiekis];
  594.             for(int i = 0; i<konteineris.Kiekis; i++)
  595.             {
  596.                 Studentas sesioliktinis = konteineris.GautiStudenta(i);
  597.                 eilute[i] = String.Format("{0} {1} {2} {3} {4} {5} {6} {7} {8}", sesioliktinis.Vardas, sesioliktinis.Pavarde, sesioliktinis.GimimodataMetai, sesioliktinis.GimimodataMen, sesioliktinis.GimimodataDiena, sesioliktinis.Pazymejimonr, sesioliktinis.Kursas, sesioliktinis.Telefononr, sesioliktinis.ArFuksas);
  598.                 File.WriteAllLines(CFp, eilute);
  599.             }
  600.         }
  601.        
  602.         static void Main(string[] args)
  603.         {
  604.  
  605.             Program p = new Program();
  606.             Konteineris duomenys = p.Skaityti(); // nuskaito šių metų studentų duomenis
  607.             Konteineris sesiolikti = p.MetaiSesiolikti(); // nuskaito 2016 metų studentų duomenis
  608.             Konteineris septyniolikti = p.MetaiSeptyniolikti(); // nuskaito 2017 metų studentų duomenis
  609.             List<MenesisInfo> duomenysMen = p.Skaityti2(); // nuskaito mėnesių duomenis šiem metam
  610.             List<MenesisInfo> duomenysSesiolMen = p.Skaityti3(); // nuskaito mėnesių duomenis 2016 metam
  611.             List<MenesisInfo> duomenysSeptynMen = p.Skaityti4(); // nuskaito mėnesių duomenis 2017 metam
  612.             List<string> pirmakursiai = p.Pirmakursiai(duomenys); // sukuriamas pirmakursių sąrašas
  613.             List<string> ketvirtakursiai = p.Ketvirtakursiai(duomenys); // sukurimas ketvirtakursių sąrašas
  614.             Konteineris trimeciai = p.Trimeciai(sesiolikti, septyniolikti, duomenys); // sukuriamas studentų kurie atstovavo SA visus tris metus
  615.             Console.OutputEncoding = Encoding.UTF8;
  616.             Console.WriteLine("Iš viso fuksų {0}", p.KiekYraFuksu(duomenys)); // spausdina kiek fuksų yra šiais metais
  617.             Console.WriteLine(new String('-', 58));
  618.             p.KiekStudentuKuriMenesiSvenciaGimtadieni(duomenys, duomenysMen);
  619.             int n = p.KuriMenesiSvenciamaDaugiausiaiGimtadieniu(duomenysMen);
  620.             p.KiekStudentuKuriMenesiSvenciaGimtadieniSesioliktais(sesiolikti, duomenysSesiolMen);
  621.             Console.WriteLine("Daugiausia šiais metais gimtadienių šventė {0} mėnesį", duomenysMen[n - 1].MenPavadinimas);
  622.             string sesiolMen = p.KuriMenesiSvenciamaDaugiausiaiGimtadieniuSesioliktais(duomenysSesiolMen);
  623.             p.KiekStudentuKuriMenesiSvenciaGimtadieniSeptynioliktais(septyniolikti, duomenysSeptynMen);
  624.             Console.WriteLine(sesiolMen);
  625.             string septynEilute = p.KuriMenesiSvenciamaDaugiausiaiGimtadieniuSeptynioliktais(duomenysSeptynMen);
  626.             Console.WriteLine(septynEilute);
  627.             Console.WriteLine(new String('-', 58));
  628.             Console.WriteLine("Daugiausiai gimtadienių švenčiama {0} mėn. Juos švencia šie žmonės: ", duomenysMen[n - 1].MenPavadinimas);
  629.             Console.WriteLine(new String('-', 58));
  630.  
  631.             Console.WriteLine("{0,-20} {1,-20} {2,-20}", "| VARDAS ", "| PAVARDĖ", " | Gimimo diena | ");
  632.             Console.WriteLine(new String('-', 58));
  633.             for (int c = 0; c < duomenys.Kiekis; c++)
  634.             {
  635.  
  636.                 if (duomenys.GautiStudenta(c).GimimodataMen == n)
  637.                 {
  638.  
  639.                     Console.WriteLine("|{0,-20}| {1,-19}| {2,-13}|", duomenys.GautiStudenta(c).Vardas, duomenys.GautiStudenta(c).Pavarde, duomenys.GautiStudenta(c).GimimodataDiena); // išvedamaį konsolę informacija apie studentus švenčiančius gimtadienį populiariausią menesį.
  640.                 }
  641.  
  642.             }
  643.             Console.WriteLine(new String('-', 58));
  644.  
  645.  
  646.             p.RasauPirmakursius(pirmakursiai); // kreipinys į pirmakursių informacijos rašymo į failą metodą
  647.             p.RasauKetvirtakursius(ketvirtakursiai); // kreipinys į ketvirtakursių informacijos rašymo į failą metodą
  648.             p.SpausdinuDuomenuFaila(duomenys, sesiolikti, septyniolikti); // kreipinys į duomenų failo lentele spausdinimo į failą metodą
  649.             p.DaugiausiaFuksu(duomenys, sesiolikti, septyniolikti);
  650.             p.SpausdinuFuksus(duomenys, sesiolikti,septyniolikti);
  651.             Konteineris konteineris = p.ParuosimasKonteineriui(sesiolikti, septyniolikti);
  652.             p.SpausdinuPaliktus(konteineris);
  653.             p.SpausdintiTrimecius(trimeciai);
  654.         }
  655.  
  656.     }
  657. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement