/// <summary> /// Spausdina rezultatus į failus /// </summary> /// <param name="fw"></param> /// <param name="kont"></param> /// <param name="pav"></param> /// <param name="antraste"></param> private void Spausdinti(string fw, List <Krepsininkas> kont, string pav, string antraste) { const string virsus = "------------------------------------------\r\n" + " Nr. Pavardė ir vardas Amžius Ūgis \r\n" + "------------------------------------------"; using (var fr = new StreamWriter(File.Open(fw, FileMode.Append))) { if (kont.Count > 0) { fr.WriteLine(antraste); fr.WriteLine(pav); fr.WriteLine(virsus); for (int i = 0; i < kont.Count; i++) { Krepsininkas krep = kont[i]; fr.WriteLine("{0, 3} {1}", i + 1, krep.ToString()); } fr.WriteLine("------------------------------------------\n"); } else { fr.WriteLine("Studentų konteineris tuščias!\n"); } } }
/// <summary> /// Randa įterpiamų krepšininkų indeksus /// </summary> /// <param name="A"></param> /// <param name="krep"></param> /// <returns></returns> private int RastiIndeksą(List <Krepsininkas> A, Krepsininkas krep) { int ind = A.Count; for (int i = 0; i < A.Count; i++) { if (krep <= A[i]) { ind = i; } } return(ind); }
/// <summary> /// Rikiuoja duomenis /// </summary> /// <param name="A"></param> private void Rikiuoti(List <Krepsininkas> A) { int i = 0; bool bk = true; while (bk) { bk = false; for (int j = A.Count - 1; j > i; j--) { if (A[j] <= A[j - 1]) { bk = true; Krepsininkas krep = A[j]; A[j] = A[j - 1]; A[j - 1] = krep; } } i++; } }
/// <summary> /// Prideda naujus žaidėjus /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void pridėtiNaujų_Click(object sender, EventArgs e) { label1.Text = "Pridedami nauji krepšininkai."; naujiKrepsininkai = Skaityti(naujokai, out Vadybininkas); for (int i = 0; i < naujiKrepsininkai.Count; i++) { Krepsininkas krep = naujiKrepsininkai[i]; int ind = RastiIndeksą(naujasKonteineris, krep); naujasKonteineris.Insert(ind, krep); } Spausdinti(rez, naujasKonteineris, Vadybininkas, "Sąrašas su" + " pridėtais naujais krepšininkais:"); label1.Text = "Duomenys pridėti,\ngalima spausdinti."; išsaugoti.Enabled = true; pridėtiNaujų.Enabled = false; }
/// <summary> /// Failų nuskaitymas /// </summary> /// <param name="fr"></param> /// <param name="pav"></param> /// <returns></returns> private List <Krepsininkas> Skaityti(string fr, out string pav) { List <Krepsininkas> konteineris = new List <Krepsininkas>(); using (StreamReader reader = new StreamReader(fr, Encoding.GetEncoding(1257))) { string line; line = reader.ReadLine(); pav = line; while ((line = reader.ReadLine()) != null) { string[] parts = line.Split(';'); string pavVrd = parts[0]; int amz = int.Parse(parts[1]); double ug = double.Parse(parts[2]); Krepsininkas krep = new Krepsininkas(pavVrd, amz, ug); konteineris.Add(krep); } return(konteineris); } }
/// <summary> /// Spausdina į .csv failą /// </summary> /// <param name="fw"></param> /// <param name="kont"></param> /// <param name="pav"></param> /// <param name="antraste"></param> private void SpausdintiĮCSVFailą(string fw, List <Krepsininkas> kont, string pav, string antraste) { using (var fr = new StreamWriter(File.Open(fw, FileMode.Append))) { if (kont.Count > 0) { fr.WriteLine(";" + antraste); fr.WriteLine(";" + pav); fr.WriteLine(" {0, -5} ; {1, -20} ; {2, -8} ; {3, -6} ", "Nr.", "Vardas Pavardė", "Amžius", "Ūgis"); for (int i = 0; i < kont.Count; i++) { Krepsininkas krep = kont[i]; fr.WriteLine(" {0, -3} ; {1, -20} ; {2, 3:d} ; {3, 5:f} ", (i + 1).ToString(), krep.VP, krep.Amžius, krep.Ūgis); } } else { fr.WriteLine("Studentų konteineris tuščias!\n"); } } }