/// <summary> /// Duomenų atspausdinimo metodas /// </summary> /// <param name="fv"> Duomenų failas</param> /// <param name="TransportasKont"> LIST sąrašas </param> /// <param name="antraste"> antraste </param> static void SpausdintiTranspKont(string fv, List <Transportas> TransportasKont, string antraste, string imone, FileMode fm = FileMode.Append) { const string virsus = "---------------------------------------------------------------------\r\n" + "Nr. Marsrutas Kelio ilgis Stoteliu skaicius \r\n" + "---------------------------------------------------------------------"; using (var fr = new StreamWriter(File.Open(fv, FileMode.Append), Encoding.GetEncoding(1257))) { if (TransportasKont.Count == 0) { fr.WriteLine("Sąrašo nėra"); } else { fr.WriteLine(imone); fr.WriteLine("\n " + antraste); fr.WriteLine(virsus); for (int i = 0; i < TransportasKont.Count; i++) { Transportas kn = TransportasKont[i]; fr.WriteLine("{0}", kn); } fr.WriteLine("---------------------------------------------------------------------\n"); } } }
/// <summary> /// Skaičiuojamami bendri maršrutų ilgiai /// </summary> /// <param name="TransportasKont"> LIST sąrašas </param> /// <param name="suma"> ilgis </param> static void BendrasMarsrutuIlgis(List <Transportas> TransportasKont, out int suma) { suma = 0; for (int i = 0; i < TransportasKont.Count; i++) { Transportas kn = TransportasKont[i]; suma = suma + kn.ilgis; } }
/// <summary> /// Įterpimo metodas /// </summary> /// <param name="Naujas"> Bendro sąrašo list'as</param> /// <param name="Transp"> Papildomas sąrašas įterpimui </param> /// <returns></returns> static List <Transportas> Iterpimas4(List <Transportas> Naujas, Transportas Transp) { for (int i = 0; i < Naujas.Count; i++) { if (Naujas[i].stotsk <= Transp.stotsk) { Naujas.Insert(i, Transp); break; } } return(Naujas); }
/// <summary> /// Randa maršrutus kurie yra intervale [a;b] /// </summary> /// <param name="TransportasKont"> LIST sąrašas </param> /// <param name="naujas"> Naujas sąrašas </param> /// <param name="a"> intervalo a reikšmė </param> /// <param name="b"> intervalo b reikšmė </param> static void Intervalas(List <Transportas> TransportasKont, List <Transportas> naujas, int a, int b) { for (int i = 0; i < TransportasKont.Count; i++) { Transportas kn = TransportasKont[i]; if (a <= kn.ilgis && b >= kn.ilgis) { naujas.Add(TransportasKont[i]); } } }
//--------------------------------------------------------------- static void SpausdintiCSV(string fv, List <Transportas> Transp) { using (var fr = new StreamWriter(File.Open(fv, FileMode.Append), Encoding.GetEncoding(1257))) { if (Transp.Count != 0) { for (int i = 0; i < Transp.Count; i++) { Transportas transp = Transp[i]; fr.WriteLine("{0},{1},{2},{3}", transp.numeris, transp.pav, transp.ilgis, transp.stotsk); } fr.WriteLine(); } } }
//----------------------------------------------------------------- static List <Transportas> Iterpimas(List <Transportas> Papildymas, string fv, out string imone) { using (StreamReader srautas = new StreamReader(fv, Encoding.GetEncoding(1257))) { string eilute; //visa duomenu failo eilute eilute = srautas.ReadLine(); imone = eilute; while ((eilute = srautas.ReadLine()) != null) { string[] eilDalis = eilute.Split(';'); int numeris = int.Parse(eilDalis[0]); string pav = eilDalis[1]; int ilgis = int.Parse(eilDalis[2]); int stotsk = int.Parse(eilDalis[3]); Transportas naujas = new Transportas(numeris, pav, ilgis, stotsk); Papildymas.Add(naujas); } return(Papildymas); } }
/// <summary> /// Rikiavimo metodas /// </summary> /// <param name="TransportasKont"> LIST sąrašas </param> /// <returns></returns> private List <Transportas> Rikiavimas(List <Transportas> TransportasKont) { int i = 0; bool bk = true; while (bk) { bk = false; for (int j = TransportasKont.Count - 1; j > i; j--) { if (TransportasKont[j] > TransportasKont[j - 1]) { bk = true; Transportas transportas = TransportasKont[j]; TransportasKont[j] = TransportasKont[j - 1]; TransportasKont[j - 1] = transportas; } } i++; } return(TransportasKont); }
// METODAI /// <summary> /// Duomenų nuskaitymas /// </summary> /// <param name="fv"> duomenų failas </param> /// <returns></returns> static List <Transportas> SkaitytiTranspKont(string fv, out string imone) { List <Transportas> TransportasKont = new List <Transportas>(); using (StreamReader srautas = new StreamReader(fv, Encoding.GetEncoding(1257))) { string eilute; eilute = srautas.ReadLine(); imone = eilute; while ((eilute = srautas.ReadLine()) != null) { string[] eilDalis = eilute.Split(';'); int numeris = int.Parse(eilDalis[0]); string pav = eilDalis[1]; int ilgis = int.Parse(eilDalis[2]); int stotsk = int.Parse(eilDalis[3]); Transportas transportas = new Transportas(numeris, pav, ilgis, stotsk); TransportasKont.Add(transportas); } } return(TransportasKont); }