static void Atrinkti(Studentas senas, string tipas, Studentas naujas) { for (senas.Pradžia(); !senas.isEmpty(); senas.Kitas()) { Mobilus duom = senas.ImtiDuomenis(); if (duom.Tipas == tipas) { naujas.Papildyti(duom); } } }
static void Spausdinti(string fv, Studentas A, string koment) { using (var failas = new StreamWriter(fv, true)) { failas.WriteLine(koment); failas.WriteLine("+------------------------------+---------------" + "-------+--------------+"); failas.WriteLine("| Modelis | Tipas " + " | Veik. trukmė |"); failas.WriteLine("+------------------------------+---------------" + "-------+--------------+"); // Sąrašo peržiūra, panaudojant sąsajos metodus for (A.Pradžia(); !A.isEmpty(); A.Kitas()) { failas.WriteLine("{0}", A.ImtiDuomenis().ToString()); } failas.WriteLine("+------------------------------+---------------" + "-------+--------------+\r\n"); } }
static Studentas Skaityti(string fv) { var A = new Studentas(); using (var failas = new StreamReader(fv)) { string eilute; A.VardasPavardė = eilute = failas.ReadLine(); while ((eilute = failas.ReadLine()) != null) { string[] eilDalis = eilute.Split(';'); string modelis = eilDalis[0]; string tipas = eilDalis[1]; int baterija = int.Parse(eilDalis[2]); Mobilus elem = new Mobilus(modelis, tipas, baterija); A.Papildyti(elem); } } return(A); }
static void Main(string[] args) { Console.OutputEncoding = Encoding.GetEncoding(1257); Studentas A; // pirmojo studento duomenys Studentas B; // antrojo studento duomenys A = Skaityti(CFd1); B = Skaityti(CFd2); if (File.Exists(CFr)) { File.Delete(CFr); } Spausdinti(CFr, A, A.VardasPavardė); Spausdinti(CFr, B, B.VardasPavardė); using (var failas = new StreamWriter(CFr, true)) { Mobilus max; max = A.MaxTrukmė(); failas.WriteLine("Studentas: {0}, ilgiausiai veikianti baterija \r\nModelis: " + "{1}, tipas: {2}, trukmė: {3}.", A.VardasPavardė, max.Modelis, max.Tipas, max.Baterija); failas.WriteLine(); max = B.MaxTrukmė(); failas.WriteLine("Studentas: {0}, ilgiausiai veikianti baterija \r\nModelis: " + " {1}, tipas: {2}, trukmė: {3}.", B.VardasPavardė, max.Modelis, max.Tipas, max.Baterija); } Studentas Naujas = new Studentas(); // atrinkti duomenys Console.WriteLine("Įveskite norimą įrenginio tipą:"); string tipas = Console.ReadLine(); // Įvedamas norimas įrenginio tipas Atrinkti(A, tipas, Naujas); Atrinkti(B, tipas, Naujas); // --- Suformuoto sąrašo spausdinimas ir rikiavimas --- Naujas.Pradžia(); if (!Naujas.isEmpty()) { Spausdinti(CFr, Naujas, "\nAtrinkti nerikiuoti"); Naujas.Rikiuoti(); Spausdinti(CFr, Naujas, "\nAtrinkti surikiuoti"); } else { using (var failas = new StreamWriter(CFr, true)) { failas.WriteLine("Naujas sąrašas nesudarytas."); } } Studentas C; // trečio studento duomenys C = Skaityti(CFd3); Spausdinti(CFr, C, C.VardasPavardė); Įterpti(C, tipas, Naujas); Naujas.Pradžia(); if (!Naujas.isEmpty()) { Spausdinti(CFr, Naujas, "Rikiuotas po papildymo"); } else { using (var failas = new StreamWriter(CFr, true)) { failas.WriteLine("Naujas sąrašas liko nesudarytas."); } } C.Naikinti(); if (!Naujas.isEmpty()) { Spausdinti(CFr, Naujas, "Rikiuotas po papildymo"); } else { using (var failas = new StreamWriter(CFr, true)) { failas.WriteLine("Naujas sąrašas sunaikintas."); } } }