private static StudentasSimple ParseStudent(String duomenys, Boolean full) { StudentasSimple studentas = new StudentasSimple(); String[] splitData; try { splitData = duomenys.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); if (splitData.Length < 2) { throw new FormatException("Not enough array elements"); } } catch (FormatException ex) { //Console.WriteLine("Netinkamai įvesti studentų duomenys!"); return(null); } studentas.Vardas = splitData[0]; studentas.Pavarde = splitData[1]; if (full) { for (int i = 2; i < 7; i++) { try { studentas.NamuDarbai.Add(double.Parse(splitData[i])); } catch (Exception ex) { //Console.WriteLine(formatExceptionMessage + "\n" + ex); //Atkomentuoti norint pamatyti exception message studentas.NamuDarbai.Add(defaultValue); } } try { studentas.Egzaminas = double.Parse(splitData[7]); } catch (Exception ex) { //Console.WriteLine(formatExceptionMessage + "\n" + ex); studentas.Egzaminas = defaultValue; } studentas.Vidurkis = GetVidurkis(studentas.NamuDarbai, studentas.Egzaminas); studentas.Mediana = GetMediana(studentas.NamuDarbai, studentas.Egzaminas); } else { studentas.Vidurkis = double.Parse(splitData[2]); } return(studentas); }
public static void ReadRandomInput(int studentuKiekis) { int index = 0; while (index < studentuKiekis) { StudentasSimple studentas = new StudentasSimple(); Random rnd = new Random(); studentas.Vardas = "Vardas" + (index + 1); studentas.Pavarde = "Pavarde" + (index + 1); for (int i = 0; i < 6; i++) { studentas.NamuDarbai.Add(rnd.Next(0, 10)); } studentas.Egzaminas = rnd.Next(0, 10); studentas.Vidurkis = GetVidurkis(studentas.NamuDarbai, studentas.Egzaminas); studentas.Mediana = GetMediana(studentas.NamuDarbai, studentas.Egzaminas); Program.studentaiL.Add(studentas); index += 1; } }
public static void ReadInputFromFile(int kiekis, String tipas, Boolean sort, Boolean full, int strategija) { string line; int counter = 0; System.IO.StreamReader file = null; try { string filePath = System.IO.Path.GetFullPath("./studentai" + kiekis + ".txt"); file = new System.IO.StreamReader(filePath); } catch (System.IO.IOException ex) { Console.WriteLine(fileNotFoundExceptionMessage + "\n---------------------------------------------------\n" + ex); Console.WriteLine("Buvo prideta {0} studentų. Įvesties failas nerastas", 0); Console.WriteLine("---------------------------------------------------"); return; } StudentasSimple studentas = null; if (strategija == 1) { while ((line = file.ReadLine()) != null) { if (counter > 0) { studentas = ParseStudent(line, full); if (studentas == null) { continue; } if (tipas.Equals("List")) { Program.studentaiL.Add(studentas); if (sort) { if (studentas.Vidurkis >= 5) { Program.kietiakiaiL.Add(studentas); } else { Program.vargsiukaiL.Add(studentas); } } } if (tipas.Equals("LinkedList")) { Program.studentaiLL.AddLast(studentas); if (sort) { if (studentas.Vidurkis >= 5) { Program.kietiakiaiLL.AddLast(studentas); } else { Program.vargsiukaiLL.AddLast(studentas); } } } else if (tipas.Equals("Queue")) { Program.studentaiQ.Enqueue(studentas); if (sort) { if (studentas.Vidurkis >= 5) { Program.kietiakiaiQ.Enqueue(studentas); } else { Program.vargsiukaiQ.Enqueue(studentas); } } } } counter++; } } else if (strategija == 2) { int removalCounter = 0; while ((line = file.ReadLine()) != null) { if (counter > 0) { studentas = ParseStudent(line, full); if (studentas == null) { continue; } if (tipas.Equals("List")) { Program.studentaiL.Add(studentas); if (sort) { if (studentas.Vidurkis < 5) { Program.studentaiL.RemoveAt(removalCounter - 1); removalCounter -= 1; Program.vargsiukaiL.Add(studentas); } } } if (tipas.Equals("LinkedList")) { Program.studentaiLL.AddLast(studentas); if (sort) { if (studentas.Vidurkis < 5) { Program.studentaiLL.RemoveLast(); Program.vargsiukaiLL.AddLast(studentas); } } } else if (tipas.Equals("Queue")) { Program.studentaiQ.Enqueue(studentas); if (sort) { if (studentas.Vidurkis < 5) { Program.studentaiQ.Dequeue(); Program.vargsiukaiQ.Enqueue(studentas); } } } } counter++; removalCounter++; } } else { System.Console.WriteLine("Netinkama strategija pasirinkta"); } file.Close(); System.Console.WriteLine("Buvo prideta {0} studentų.", counter - 1); }