/// <summary> /// Metodas, surandantis visus klausimus /// </summary> /// <param name="atstovybes">Atstovybės</param> /// <param name="atstovybiuKiekis">Atstovybių kiekis</param> /// <returns>Visų klausimų sąrašas</returns> KlausimuKonteineris VisiParasytiKlausimai(Atstovybe[] atstovybes, int atstovybiuKiekis) { KlausimuKonteineris visiParasytiKlausimai = new KlausimuKonteineris(); int Count = 0; for (int i = 0; i < atstovybiuKiekis; i++) { for (int g = 0; g < atstovybes[i].VisiKlausimai.Kiekis; g++) { for (int h = 0; h < visiParasytiKlausimai.Kiekis; h++) { if (visiParasytiKlausimai.GautiKlausima(h).Equals(atstovybes[i].VisiKlausimai.GautiKlausima(g))) { Count++; } } if (Count == 0) { visiParasytiKlausimai.PridetiKlausima(atstovybes[i].VisiKlausimai.GautiKlausima(g)); } Count = 0; } } return(visiParasytiKlausimai); }
const int maxAtstovybiuKiekis = 10; //didžiausias atstovybių kiekis static void Main(string[] args) { int atstovybiuKiekis = 0; //Kintamasis, kuris nurodo, kiek yra atstovybių int skaicius = 0; //Istorinių klausimų kiekis Console.OutputEncoding = Encoding.UTF8; //Konsolėje rašomos lietuviškos raidės Program p = new Program(); //Program klasės objektas, kad galima būtų prieiti prie metodų Atstovybe[] atstovybes = new Atstovybe[maxAtstovybiuKiekis]; //objekto masyve saugomi atstovybių pavadinimai p.Skaitymas(ref atstovybes, ref atstovybiuKiekis); //Skaitymo metodas if (atstovybes[0].AtstovybesPav == null) { Console.WriteLine("Duomenų failuose nėra"); //Jeigu duomenų faile nėra, rezultatų failus palieka tuščius string[] istoriniai = new string[1000]; p.IstoriniuKlausimuSpausdinimasFaile(istoriniai, skaicius); KlausimuKonteineris visiParasytiKlausimai = new KlausimuKonteineris(); p.VisuKlausimuSpausdinimasFaile(visiParasytiKlausimai); p.DuomenuPateikimasLenteleje(atstovybes, atstovybiuKiekis); } else { DaugiausiaKlausimuBendrai autoriaiBendr = new DaugiausiaKlausimuBendrai(); //Iš visų atstovybių populiariausių autorių objektas p.DaugiausiaKlausimuIsVisoIsvedimas(atstovybes, autoriaiBendr, atstovybiuKiekis); //populiariausio autoriaus apskritai išvedimo metodas Console.WriteLine(new String('-', 100)); //Atskiria rezultatus Console.WriteLine(""); DaugiausiaKlausimuAtskirai autoriaiAts = new DaugiausiaKlausimuAtskirai(); //Skirtingų atstovybių populiariausių autorių objektas p.DaugiausiaiKlausimuAtstovybeseIsvedimas(atstovybes, autoriaiAts, atstovybiuKiekis); //populiariausio autoriaus kiekvienoje atstovybėje paieškos metodas Console.WriteLine(new String('-', 100)); //Atskiria rezultatus Console.WriteLine(""); DaugiausiaKlausimuAtskirai muzAutoriaiAts = new DaugiausiaKlausimuAtskirai(); //Skirtingų atstovybių daugiausiai muzikinių klausimų uždavusių autorių objektas p.DaugiausiaiMuzikiniuKlausimuAtstovybeseIsvedimas(atstovybes, muzAutoriaiAts, atstovybiuKiekis); //Autorių, daugiausiai uždavusių muzikinių klausimų, išvedimas Console.WriteLine(new String('-', 100)); //Atskiria rezultatus Console.WriteLine(""); KlausimuKonteineris visiParasytiKlausimai = new KlausimuKonteineris(); //Visų klausimų objektas visiParasytiKlausimai = p.VisiParasytiKlausimai(atstovybes, atstovybiuKiekis); //Suranda visus užduotus klausimus visiParasytiKlausimai.RikiuotiKlausimus(); //Surikiuoja visų klausimų sąrašą p.VisuKlausimuSpausdinimasFaile(visiParasytiKlausimai); //Atspausdina faile visus klausimus string[] istoriniai = new string[1000]; //Istorinių klausimų objektas istoriniai = p.IstoriniaiKlausimai(atstovybes, atstovybiuKiekis, ref skaicius); //Suranda visus istorinius klausimus if (skaicius == 0) { Console.WriteLine("Istorinių klausimų nėra"); Console.WriteLine(""); } p.IstoriniuKlausimuSpausdinimasFaile(istoriniai, skaicius); //Atspausdina faile visus istorinius klausimus p.DuomenuPateikimasLenteleje(atstovybes, atstovybiuKiekis); //Duomenys pateikiami lentele } }
/// <summary> /// Atstovybės konstruktorius /// </summary> /// <param name="atstovybe">Atstovybės pavadinimas</param> public Atstovybe(string atstovybe) { AtstovybesPav = atstovybe; Klausimai = new KlausimuKonteineris(); KlausimaiSuVariantais = new KlausimuKonteineris(); MuzikiniaiKlausimai = new KlausimuKonteineris(); VisiKlausimai = new KlausimuKonteineris(); }
/// <summary> /// Visų klausimų spausdinimas faile /// </summary> /// <param name="visiParasytiKlausimai">Visi klausimai</param> void VisuKlausimuSpausdinimasFaile(KlausimuKonteineris visiParasytiKlausimai) { using (StreamWriter rasyti = new StreamWriter(@"../../Klausimai.csv", false, Encoding.UTF8)) { rasyti.WriteLine("Klausimas, Tema, Sudėtingumas"); rasyti.WriteLine(""); for (int i = 0; i < visiParasytiKlausimai.Kiekis; i++) { rasyti.WriteLine("{0}, {1}, {2}", visiParasytiKlausimai.GautiKlausima(i).KlausimoTekstas, visiParasytiKlausimai.GautiKlausima(i).Tema, visiParasytiKlausimai.GautiKlausima(i).Sudetingumas); } } }