static void Spausdinti(Poliklinika mas, string antraste) { Table <Klientas> pavadinimas = new Table <Klientas>(); pavadinimas.AddColumn(x => x.PavardėVardas, "Pavardė"); pavadinimas.AddColumn(x => x.TelefonoNr, "Tlf"); pavadinimas.AddColumn(x => x.SodrosNr, "Sodra"); pavadinimas.AddColumn(x => x.GimimoData, "Data"); pavadinimas.CellAlign = CellAlign.Left; pavadinimas.CellBorderMargin = 5; pavadinimas.PrintPigeonContainer(mas, mas.n); //const string virsus = "--------------------------------------------------------------------------------------\r\n" + // " Nr. Pavardė vardas Telefono nr. Sodros pažymėjimo nr. Gimimo data \r\n" + // "--------------------------------------------------------------------------------------"; //Console.WriteLine(antraste); //if (mas.n > 0) //{ // Console.WriteLine(virsus); // for (int i = 0; i < mas.n; i++) // { // Console.WriteLine("{0, 3:d} {1} ", i + 1, mas.Imti(i).ToString()); // } // Console.WriteLine("--------------------------------------------------------------------------------------\r\n"); //} //else //{ // Console.WriteLine("Sąrašas tuščias!\r\n"); //} }
static void Išmesti(Poliklinika mas, DateTime data) { int m = 0; for (int i = 0; i < mas.n; i++) { Klientas temp = mas.Imti(i); if (temp.GimimoData < data) { mas.Dėti(temp, m++); } } mas.n = m; //Arba /* * for (int i = 0; i < mas.n; i++) * { * Klientas temp = mas.Imti(i); * if (temp.GimimoData > data) * { * for (int j = i; j < mas.n - 1; j++) * { * mas.Dėti(mas.Imti(j + 1), j); * } * mas.n--; * } * } */ }
static void Įterpti(Poliklinika mas, Klientas klientas, int k) { for (int i = mas.n; i > k; i--) { Klientas temp = mas.Imti(i - 1); mas.Dėti(temp, i); } mas.Dėti(klientas, k); mas.n = mas.n + 1; }
static void Main(string[] args) { Console.OutputEncoding = Encoding.GetEncoding(1257); Console.InputEncoding = Encoding.Unicode; Poliklinika klientai = new Poliklinika(); Skaityti(duom, klientai); Spausdinti(klientai, "Pradiniai duomenys:"); klientai.Rikiuoti(); Spausdinti(klientai, "Surikiuoti duomenys:"); Console.Write("Įveskite datą, už kurią jaunesnius klientus norite pašalinti: "); DateTime data = DateTime.Parse(Console.ReadLine()); Išmesti(klientai, data); if (klientai.n > 0) { Spausdinti(klientai, string.Format("Pašalinti už {0:d} jaunesni klientai:", data)); } else { Console.WriteLine("Pašalinti už {0:d} jaunesni klientai:", data); Console.WriteLine("Iš sąrašo išmesti visi elementai!\r\n"); } Klientas naujasKlientas; Console.WriteLine("Įveskite naujo kliento duomenis: "); Console.Write("Pavardę ir vardą: "); string vp = Console.ReadLine(); Console.Write("Telefono numerį: "); string tlf = Console.ReadLine(); Console.Write("Sodros pažymėjimo numerį: "); string sNr = Console.ReadLine(); Console.Write("Gimimo datą: "); DateTime gim = DateTime.Parse(Console.ReadLine()); naujasKlientas = new Klientas(vp, tlf, sNr, gim); int ind = RastiIndeksą(klientai, naujasKlientas); Console.WriteLine(); //Console.WriteLine(ind); Įterpti(klientai, naujasKlientas, ind); Spausdinti(klientai, "Įterptas naujas klientas:"); Console.WriteLine("Programa baigė darbą!"); }
static void Skaityti(string duom, Poliklinika mas) { using (StreamReader reader = new StreamReader(duom)) { string line; string[] parts; string vp, tlf, sNr; DateTime gim; while ((line = reader.ReadLine()) != null && ((mas.n + 1) < mas.Max())) { parts = line.Split(';'); vp = parts[0].Trim(); tlf = parts[1].Trim(); sNr = parts[2].Trim(); gim = DateTime.Parse(parts[3].Trim()); Klientas naujas = new Klientas(vp, tlf, sNr, gim); mas.Dėti(naujas); } } }
static int RastiIndeksą(Poliklinika mas, Klientas k) { int ind = 0; //Console.WriteLine(k.ToString()); for (int i = 0; i < mas.n; i++) { Klientas temp = mas.Imti(i); if (k < temp) { //Console.WriteLine("Rasta"); break; } else if (k > temp) { //Console.WriteLine(temp.PavardėVardas + " vs " + k.PavardėVardas); //Console.WriteLine("!!"); ind++; } } return(ind); }