static void Atrinkti(StudentsDevices senas, string tipas, StudentsDevices 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, StudentsDevices 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 StudentsDevices Skaityti(string fv) { var A = new StudentsDevices(); 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); StudentsDevices A; // pirmojo studento duomenys StudentsDevices 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("StudentsDevices: {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("StudentsDevices: {0}, ilgiausiai veikianti baterija \r\nModelis: " + " {1}, tipas: {2}, trukmė: {3}.", B.VardasPavardė, max.Modelis, max.Tipas, max.Baterija); } StudentsDevices Naujas = new StudentsDevices(); // 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 (" + tipas + ")"); Naujas.RikiuotiMinMax(); Spausdinti(CFr, Naujas, "\nAtrinkti surikiuoti (" + tipas + ")"); } else { using (var failas = new StreamWriter(CFr, true)) { failas.WriteLine("\r\n(" + tipas + ")\r\nNaujas sąrašas nesudarytas.\r\n"); } } StudentsDevices 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("\r\n(" + tipas + ")\r\nNaujas sąrašas liko nesudarytas.\r\n"); } } C.Naikinti(); if (!Naujas.isEmpty()) { Spausdinti(CFr, Naujas, "Sąrašas po sunaikinomo."); } else { using (var failas = new StreamWriter(CFr, true)) { failas.WriteLine("Naujas sąrašas sunaikintas.\r\n"); } } }