static void Main(string[] args) { Console.OutputEncoding = Encoding.UTF8; Program p = new Program(); //Sukuriamas filialų sąrašas, kuris talpina fakultetų skaičių Branch[] branches = new Branch[MaxNumberOfFaculties]; int Count = 0; //Kintamasis, skirtas fakultetų kiekiui skaičiuoti //Direktorijoje nuskaito visus esancčius CSV failus string[] filePaths = Directory.GetFiles(Directory.GetCurrentDirectory(), "*.csv"); foreach (string path in filePaths) { branches[Count++] = p.ReadData(path); } //Eina pro fakultetų sąrašą for (int i = 0; i < Count; i++) { //Į konteinerį įdeda atitinkamo fakulteto grupes, ir jas išrikiuoja GroupsContainer groups = p.GetGroups(branches[i]); groups.SortGroups(); //Išveda fakuleto pavadinimą Console.WriteLine(branches[i].Faculty); //Išspausdina visų fakultetų grupes ir jų vidurkius for (int j = 0; j < groups.Count; j++) { Console.WriteLine("| Grupė: {0} | Grupės vidurkis: {1:f} |", groups.GetGroup(j).NameOfTheGroup, groups.GetGroup(j).GetAverage()); } } }
/// <summary> /// Fakulteto studentus suskirsto į grupes /// </summary> /// <param name="branch">Filialas</param> /// <returns></returns> public GroupsContainer GetGroups(Branch branch) { GroupsContainer groups = new GroupsContainer(); for (int i = 0; i < branch.Count; i++) { bool found = false; for (int j = 0; j < groups.Count; j++) { if (groups.GetGroup(j).NameOfTheGroup.Equals(branch.Students[i].Group)) { groups.GetGroup(j).AddStudent(branch.Students[i]); found = true; break; } } if (!found) { groups.AddGroup(new Group(branch.Students[i].Group)); groups.GetGroup(groups.Count - 1).AddStudent(branch.Students[i]); } } return(groups); }