/// <summary> /// Nuskaito duomenis studentų /// </summary> /// <param name="stduoma"> nuoroda i pirmą duomenų failą</param> /// <param name="stduomb"> nuoroda i antra duomenų failą</param> /// <returns> studentų sąrašas</returns> private Sarasas <Studentas> skaitymas(string stduoma, string stduomb) { Sarasas <Studentas> sarasas = new Sarasas <Studentas>(); double Reikalavimai; using (StreamReader reader1 = new StreamReader(stduomb)) { string[] duomenys = reader1.ReadLine().Split(';'); sarasas.PirmaEilute(double.Parse(duomenys[0]), double.Parse(duomenys[1])); Reikalavimai = double.Parse(duomenys[1]); string[] eilutes = File.ReadAllLines(stduoma); foreach (string eilute in eilutes) { string[] StudentoDuomenys = reader1.ReadLine().Split(';'); string[] eiluteA = eilute.Split(';'); int[] pazymiai = new int[int.Parse(StudentoDuomenys[2])]; int j = 0; for (int i = 3; i < 3 + int.Parse(StudentoDuomenys[2]); i++) { pazymiai[j++] = int.Parse(StudentoDuomenys[i]); } //Studentas studentas = new Studentas(eiluteA[0], eiluteA[1], StudentoDuomenys[1], int.Parse(StudentoDuomenys[2]), pazymiai, sarasas.Reikalavimai); sarasas.DetiDuomenisT(new Studentas(eiluteA[0], eiluteA[1], StudentoDuomenys[1], int.Parse(StudentoDuomenys[2]), pazymiai, sarasas.Reikalavimai)); } } SkaiciuotiPirmunus(sarasas, Reikalavimai); return(sarasas); }
/// <summary> /// Suranda ar visu grupiu studentai pasirinko sio destytojo modulius /// </summary> /// <param name="Studentai">Studentu sarasas</param> /// <param name="Destytojai">Destytoju sarasas</param> /// <param name="destytojasMaxVardas">daugiausiai moduliu turincio destytojo vardas</param> /// <param name="destytojasMaxPavarde">daugiausiai moduliu turincio destytojo pavarde</param> /// <returns></returns> static bool ArVisuPasirinko(Sarasas <Studentas> Studentai, Sarasas <Destytojas> Destytojai, string destytojasMaxVardas, string destytojasMaxPavarde) { foreach (Destytojas dest in Destytojai) { if ((destytojasMaxVardas == dest.vardas) && (destytojasMaxPavarde == dest.pavarde)) { string modulis = dest.modulis; foreach (Studentas stud in Studentai) { if (modulis == stud.modulis) { int visi = 0; int ne = 0; foreach (Studentas stud1 in Studentai) { if (stud1.grupe == stud.grupe) { visi += 1; if (stud.modulis != modulis) { ne += 1; } } } if (ne == visi) { return(false); } } } } } return(true); }
/// <summary> /// Spausdina duomenis į lentelę /// </summary> /// <param name="A"> Perduodamas studentų sąrašas</param> /// <param name="lentele"> Į kurią lentelę vesti</param> static void Spausdinti(Sarasas <Studentas> A, Table lentele) { // Sąrašo peržiūra, panaudojant sąsajos metodus LentelesAntraste(lentele); for (A.Pradžia(); A.Yra(); A.Kitas()) { IterptiIrasa(A.ImtiDuomenis(), lentele); } }
/// <summary> /// Spausdina nurodytls grupes studentus /// </summary> /// <param name="A"> Studentų sąrašus</param> /// <param name="lentele"> į kurią lentelę vesti</param> /// <param name="grupe"> grupės pavadinimas</param> static void SpausdintiAtrinkta(Sarasas <Studentas> A, Table lentele, string grupe) { // Sąrašo peržiūra, panaudojant sąsajos metodus LentelesAntraste(lentele); for (A.Pradžia(); A.Yra(); A.Kitas()) { if (A.ImtiDuomenis().Grupe == grupe && A.ImtiDuomenis().ArPirmunas) { IterptiIrasa(A.ImtiDuomenis(), lentele); } } }
/// <summary> /// pasalina paskutini elemanta /// </summary> /// <param name="StudentaiGR">surikiuotu studentu sarasas</param> static void PasalintiPaskutini(Sarasas <Studentas> StudentaiGR) { Mazgas <Studentas> k = StudentaiGR.Pradzia(); for (Mazgas <Studentas> d = StudentaiGR.Pradzia(); d != null; d = d.Kitas) { k = d.Kitas; if (k.Kitas == null) { d.Kitas = null; StudentaiGR.DetiDuomenisT(d.Duom); } } }
/// <summary> /// Nuskaito destytoju duomenu faila /// </summary> /// <param name="fv">destytoju failas</param> /// <param name="Destytojai">Destytoju sarasas</param> static void SkaitytiDest(string fv, Sarasas <Destytojas> Destytojai) { string line; using (var reader = new StreamReader(fv)) { while ((line = reader.ReadLine()) != null) { var v = line.Split(' '); var destyt = new Destytojas(v[0], v[1], v[2], int.Parse(v[3])); Destytojai.DetiDuomenisT(destyt); } } }
/// <summary> /// Nuskaito studentu duomenu faila /// </summary> /// <param name="fv">studentu failas</param> /// <param name="Studentai">Studentu sarasas</param> static void SkaitytiStud(string fv, Sarasas <Studentas> Studentai) { string line; using (var reader = new StreamReader(fv)) { while ((line = reader.ReadLine()) != null) { var v = line.Split(' '); var student = new Studentas(v[0], v[1], v[2], v[3]); Studentai.DetiDuomenisT(student); } } }
/// <summary> /// spausdinami rezultatai po ivedamo modulio klaviatura /// </summary> /// <param name="NewStudentai">naujas studentu sarasas</param> /// <param name="modulisVIP">Ivestas modulis</param> /// <param name="fr">rezultatu failas</param> public void SpausdintiRez2(Sarasas <Studentas> NewStudentai, string modulisVIP, string fr) { using (var writer = File.AppendText(fr)) { writer.WriteLine(); writer.WriteLine("----------------------------------------------"); writer.WriteLine("Ivestas modulio pavadinimas: {0}", modulisVIP); writer.WriteLine("Sio modulio studentu sarasas:"); for (Mazgas <Studentas> d = NewStudentai.Pradzia(); d != null; d = d.Kitas) { writer.WriteLine(d.Duom.ToString()); } } }
/// <summary> /// atlieka veiksmus su pasirinktais /// </summary> /// <param name="pirmas"> nuoroda i pirma duomenu faila</param> /// <param name="antras"> nuoroda i antra duomenu faila</param> /// <returns></returns> Sarasas <Studentas> AtliktiVeiksmus(string pirmas, string antras) { Sarasas <Studentas> Sarasas = skaitymas(pirmas, antras); Sarasas.SalintiStudentus(); Sarasas.Rikiuoti(); Spausdinti(Sarasas, Table1); SpausdintiPradiniusDuomenis(Table4, Table3, Table5, pirmas, antras); string AtrinktiGrupe = TextBox1.Text; SpausdintiAtrinkta(Sarasas, Table2, AtrinktiGrupe); SpausdintiRezultatus(Sarasas); SpausdintiDuomenis(pirmas, antras); return(Sarasas); }
protected void Button2_Click(object sender, EventArgs e) { string CD1 = @"F:\\2tras\\objektinis\\L3\\U7a.txt"; //studentu duomenu failas string CR = @"F:\\2tras\\objektinis\\L3\\REZ.txt"; //rezultatu duomenu failas var Studentai = new Sarasas <Studentas>(); SkaitytiStud(CD1, Studentai); Label4.Text = "Iveskite modulio pavadinima ir dar karta paspauskite antraji 'START' mygtuka"; string modulisVIP = TextBox1.Text; var NewStudentai = new Sarasas <Studentas>(); SudarytiStudentuSarasa(NewStudentai, modulisVIP, Studentai); if (modulisVIP != "") { SpausdintiRez2(NewStudentai, modulisVIP, CR); } }
/// <summary> /// Skaičiuoja pirmūnus /// </summary> /// <param name="x"> studentų sąrašas</param> /// <param name="Reikalavimai"> Reikalavimai</param> public void SkaiciuotiPirmunus(Sarasas <Studentas> x, double Reikalavimai) { int Taskai = 0; foreach (Studentas a in x) { if (a.ArGausStipendija(Reikalavimai)) { Taskai = Taskai + 10; if (a.ArPirmunas) { Taskai++; } } } x.SkaiciuotiTaskoVerte(Taskai); }
/// <summary> /// Spausdina rezultatus /// </summary> /// <param name="A"> Studentų sąrašas</param> void SpausdintiRezultatus(Sarasas <Studentas> A) { string path = Server.MapPath("App_Data/Rezultatai.txt"); using (StreamWriter writer = new StreamWriter(path)) { writer.WriteLine("----------------------------------------------------------------------------------------------------------"); writer.WriteLine("{0,-35}{1,-16}{2,-15}{3,-20}{4,-30}", "Pavardė Vardas", "Telefono nr.", "Grupė", "Pažymių vidurkis", "Gaunama stipendija"); writer.WriteLine("----------------------------------------------------------------------------------------------------------"); for (A.Pradžia(); A.Yra(); A.Kitas()) { string[] duomenys = A.ImtiDuomenis().ToString().Split(';'); writer.WriteLine("{0,-35}{1,-16}{2,-15}{3,-20}{4,-30}", duomenys[0], duomenys[1], duomenys[2], duomenys[3], duomenys[4]); } writer.WriteLine("----------------------------------------------------------------------------------------------------------"); } }
/// <summary> /// spausdinti rezultatus /// </summary> /// <param name="StudentaiGR">surikiuotu studentu sarasas</param> /// <param name="fr">rezultatu failas</param> public void SpausdintiGrupes(Sarasas <Studentas> StudentaiGR, string fr) { string line = ""; using (var writer = File.AppendText(fr)) { writer.WriteLine(); writer.WriteLine("Grupes, kuriu studentai nepasirinko sio destytojo moduliu:"); Label5.Text = "Grupes, kuriu studentai nepasirinko sio destytojo moduliu:"; line += "Modulis Pavarde Vardas Grupe" + "\r\n" + "\r\n"; for (Mazgas <Studentas> d = StudentaiGR.Pradzia(); d != null; d = d.Kitas) { writer.WriteLine(d.Duom.ToString()); line += d.Duom.ToString() + "\r\n"; } } TextBox3.Text = line; }
/// <summary> /// spausdina gautus rezultatus /// </summary> /// <param name="Studentai">studentu sarasas</param> /// <param name="Destytojai">destytoju sarasas</param> /// <param name="destytojasMaxVardas">daugiausiai moduliu turincio destytojo vardas</param> /// <param name="destytojasMaxPavarde">daugiausiai moduliu turincio destytojo pavarde</param> /// <param name="fr">rezultatu failas</param> public void SpausdintiRezultatus(Sarasas <Studentas> Studentai, Sarasas <Destytojas> Destytojai, string destytojasMaxVardas, string destytojasMaxPavarde, string fr) { using (var writer = File.AppendText(fr)) { //--- pradiniu doumenu spausdinimas writer.WriteLine("--------------PRADINIAI-DUOMENYS------------------"); Label6.Text = "PRADINIAI DUOMENYS"; writer.WriteLine(); string eilute1 = "Studentu failas" + "\r\n"; writer.WriteLine("---------Studentu-duomenu-failas--------"); for (Mazgas <Studentas> d = Studentai.Pradzia(); d != null; d = d.Kitas) { eilute1 += d.Duom.ToString() + "\r\n"; writer.WriteLine(d.Duom.ToString()); } TextBox5.Text = eilute1; writer.WriteLine(); string eilute = "Destytoju failas" + "\r\n"; writer.WriteLine("---------Destytoju-duomenu-failas--------"); for (Mazgas <Destytojas> d = Destytojai.Pradzia(); d != null; d = d.Kitas) { eilute += d.Duom.ToString1() + "\r\n"; writer.WriteLine(d.Duom.ToString1()); } TextBox4.Text = eilute; writer.WriteLine("-------------------------------------------------"); writer.WriteLine(); //--------- writer.WriteLine(); writer.WriteLine("Daugiausiai pasirinktu moduliu turi destytojas - {0} {1}", destytojasMaxVardas, destytojasMaxPavarde); Label1.Text = "Daugiausiai pasirinktu moduliu turi destytojas - " + destytojasMaxVardas + " " + destytojasMaxPavarde; writer.WriteLine(); if (ArVisuPasirinko(Studentai, Destytojai, destytojasMaxVardas, destytojasMaxPavarde)) { writer.WriteLine("Nevisu grupiu studentai pasirinko sio destytojo modulius."); Label2.Text = "Visu grupiu studentai pasirinko sio destytojo modulius."; } if (!ArVisuPasirinko(Studentai, Destytojai, destytojasMaxVardas, destytojasMaxPavarde)) { writer.WriteLine("Ne visu grupiu studentai pasirinko sio destytojo modulius."); Label2.Text = "Ne visu grupiu studentai pasirinko sio destytojo modulius."; } } }
public void SalintiGrupe(Sarasas <Studentas> StudentaiGR, string grupe) { for (Mazgas <Studentas> d = StudentaiGR.Pradzia(); d != null; d = d.Kitas) { if (d.Duom.grupe == grupe) { if (d.Kitas != null) { Mazgas <Studentas> laik = d.Kitas; d.Duom = laik.Duom; d.Kitas = laik.Kitas; } else { PasalintiPaskutini(StudentaiGR); } } } }
/// <summary> /// suranda grupes, kuriu bent vienas studentas nepasirinko sio destytojo modulio /// </summary> /// <param name="Studentai">Studentu sarasas</param> /// <param name="Destytojai">Destytoju sarasas</param> /// <param name="destytojasMaxVardas">daugiausiai moduliu turincio destytojo vardas</param> /// <param name="destytojasMaxPavarde">daugiausiai moduliu turincio destytojo pavarde</param> /// <param name="fr">rezultatu failas</param> public void GrupesKurNepasirinko(Sarasas <Studentas> Studentai, Sarasas <Destytojas> Destytojai, string destytojasMaxVardas, string destytojasMaxPavarde, string fr) { var StudentaiGR = new Sarasas <Studentas>(); StudentaiGR = Studentai; //rusiuoja pagal grupes, pavardes ir vardus //jei grupej yra nors vienas nepasirinkes modulio, atspauszinti //jei visa grupe pasirinkusi ta moduli, pasalinti grupe foreach (Destytojas dest in Destytojai) { if (destytojasMaxVardas == dest.vardas && destytojasMaxPavarde == dest.pavarde) { string modulis = dest.modulis; foreach (Studentas stud in Studentai) { if (modulis == stud.modulis) { int visi = 0; int ne = 0; string grupe = ""; foreach (Studentas stud1 in Studentai) { if (stud.grupe == stud1.grupe) { visi += 1; if (stud1.modulis == modulis) { ne += 1; grupe = stud1.grupe; } } } if (ne == visi) { SalintiGrupe(StudentaiGR, grupe); } } } } } StudentaiGR.Rikiuoti(); SpausdintiGrupes(StudentaiGR, fr); }
protected void Button1_Click(object sender, EventArgs e) { var Studentai = new Sarasas <Studentas>(); var Destytojai = new Sarasas <Destytojas>(); string CD1 = @"F:\\2tras\\objektinis\\L3\\U7a.txt"; //studentu duomenu failas string CD2 = @"F:\\2tras\\objektinis\\L3\\U7b.txt"; //destytoju duomenu failas string CR = @"F:\\2tras\\objektinis\\L3\\REZ.txt"; //rezultatu duomenu failas if (File.Exists(CR)) { File.Delete(CR); } SkaitytiStud(CD1, Studentai); SkaitytiDest(CD2, Destytojai); string destytojasMaxVardas; string destytojasMaxPavarde;//destytojas turintis daugiausiai moduliu DestytojasMaxMod(Studentai, Destytojai, out destytojasMaxVardas, out destytojasMaxPavarde); SpausdintiRezultatus(Studentai, Destytojai, destytojasMaxVardas, destytojasMaxPavarde, CR); GrupesKurNepasirinko(Studentai, Destytojai, destytojasMaxVardas, destytojasMaxPavarde, CR); }
/// <summary> /// sudaromas studentu sarasas pagal ivesta klaviatura moduli /// </summary> /// <param name="NewStudentai">naujas studentu sarasas</param> /// <param name="modulisVIP">Ivestas modulis</param> /// <param name="Studentai">studentu sarasas</param> public void SudarytiStudentuSarasa(Sarasas <Studentas> NewStudentai, string modulisVIP, Sarasas <Studentas> Studentai) { string eil = ""; if (modulisVIP != "") { for (Mazgas <Studentas> d = Studentai.Pradzia(); d != null; d = d.Kitas) { if (d.Duom.modulis == modulisVIP) { NewStudentai.DetiDuomenisT(d.Duom); eil += d.Duom + "\r\n"; } } } else { eil = "Neteisingas modulio pavadinimas"; } TextBox2.Text = eil; }
public static void TestasMasyvasSarasas(int numeris) { int dydis = 12; Masyvas masyvas = new Masyvas(dydis, numeris); Console.WriteLine("\n Masyvas \n"); masyvas.Spausdinti(dydis); Console.WriteLine("\n Masyvas (Rikiuotas) \n"); InsertionSort(masyvas); masyvas.Spausdinti(dydis); Sarasas sarasas = new Sarasas(dydis, numeris); Console.WriteLine("\n Sarasas nuo priekio \n"); sarasas.Spausdinti(dydis); Console.WriteLine("\n Sarasas nuo galo \n"); sarasas.SpausdintiNuoGalo(dydis); Console.WriteLine("\n Sarasas nuo priekio (Rikiuotas) \n"); InsertionSort(sarasas); sarasas.Spausdinti(dydis); Console.WriteLine("\n Sarasas nuo galo (Rikiuotas)\n"); sarasas.SpausdintiNuoGalo(dydis); }
/// <summary> /// suranda destytoja, turinti daugiausiai moduliu /// </summary> /// <param name="Studentai">Studentu sarasas</param> /// <param name="Destytojai">Destytoju sarasas</param> /// <param name="destytojasMaxVardas">daugiausiai moduliu turincio destytojo vardas</param> /// <param name="destytojasMaxPavarde">daugiausiai moduliu turincio destytojo pavarde</param> static void DestytojasMaxMod(Sarasas <Studentas> Studentai, Sarasas <Destytojas> Destytojai, out string destytojasMaxVardas, out string destytojasMaxPavarde) { int max = 0; destytojasMaxVardas = null; destytojasMaxPavarde = null; foreach (Destytojas dest in Destytojai) { int laik = 0; foreach (Studentas stud in Studentai) { if (dest.modulis == stud.modulis) { laik += 1; } } if (max < laik) { destytojasMaxVardas = dest.vardas; destytojasMaxPavarde = dest.pavarde; max = laik; } } }