static void Spausdinti(string rez, Korteles korteles, string antraste) { string virsus = "--------------------------------------------------------------------------------------------------\r\n" + " Pavadinimas Pradinė suma Tarifas į savus Tarifas į kitus SMS į savus SMS į kitus \r\n" + "--------------------------------------------------------------------------------------------------"; using (var fr = File.AppendText(rez)) { fr.WriteLine(antraste); if (korteles.Imti() > 0) { fr.WriteLine(virsus); for (int i = 0; i < korteles.Imti(); i++) { fr.WriteLine("{0}", korteles.Imti(i).ToString()); } fr.WriteLine("--------------------------------------------------------------------------------------------------\r\n"); } else { fr.WriteLine("Sąrašas tuščias"); } } }
static void Main(string[] args) { Korteles korteles = new Korteles(); Skaityti(duom, ref korteles); if (File.Exists(rez)) { File.Delete(rez); } Spausdinti(rez, korteles, "Pradiniai duomenys:"); double maziausiaKaina = MaziausiosSMSKainos(korteles); SpausdintiMaziausiosSMSKainos(rez, korteles, "SMS tarifai mažiausi:", maziausiaKaina); Korteles naujas = new Korteles(); Nemokamai(korteles, naujas); Spausdinti(rez, naujas, "Paliktos tik tos kortelės, su kuriomis į savus tinklus galima skambinti ir rašyti nemokamai:"); if (naujas.Imti() > 0) { naujas.Sort(); Spausdinti(rez, naujas, "Surikiuotos kortelės:"); } Console.WriteLine("Programa baige darba!"); }
static void Nemokamai(Korteles korteles, Korteles naujas) { for (int i = 0; i < korteles.Imti(); i++) { if (korteles.Imti(i).KoksTarifasISavusTinklus() == 0 && korteles.Imti(i).SMSiSavus() == 0) { naujas.Dėti(korteles.Imti(i)); } } }
static double MaziausiosSMSKainos(Korteles korteles) { double maziausiaKaina = korteles.Imti(0).SMSiKitus(); for (int i = 1; i < korteles.Imti(); i++) { if (korteles.Imti(i).SMSiKitus() < maziausiaKaina) { maziausiaKaina = korteles.Imti(i).SMSiKitus(); } } return(maziausiaKaina); }
static void SpausdintiMaziausiosSMSKainos(string rez, Korteles korteles, string antraste, double mazK) { string virsus = "--------------------------------------------------------------------------------------------------\r\n" + " Pavadinimas Pradinė suma Tarifas į savus Tarifas į kitus SMS į savus SMS į kitus \r\n" + "--------------------------------------------------------------------------------------------------"; using (var fr = File.AppendText(rez)) { fr.WriteLine(antraste); fr.WriteLine(virsus); for (int i = 0; i < korteles.Imti(); i++) { if (korteles.Imti(i).SMSiKitus() == mazK) { fr.WriteLine("{0}", korteles.Imti(i).ToString()); } } fr.WriteLine("--------------------------------------------------------------------------------------------------\r\n"); } }
static void Skaityti(string duom, ref Korteles korteles) { using (StreamReader reader = new StreamReader(duom)) { string pav; double prad, t1, t2, sms1, sms2; string eilute; string[] skaidymas; while ((eilute = reader.ReadLine()) != null && korteles.Imti() < korteles.Max()) { skaidymas = eilute.Split(';'); pav = skaidymas[0].Trim(); prad = double.Parse(skaidymas[1].Trim()); t1 = double.Parse(skaidymas[2].Trim()); t2 = double.Parse(skaidymas[3].Trim()); sms1 = double.Parse(skaidymas[4].Trim()); sms2 = double.Parse(skaidymas[5].Trim()); Operatorius op = new Operatorius(pav, prad, t1, t2, sms1, sms2); korteles.Dėti(op); } } }