static void Main(string[] args) { Színes.Init(); Színes.WriteLine("[red]{Adatbázisokat} szeretnél összevetni vagy [blue]{Programokat} tesztelni?"); Színes.WriteLine("[red]{a}: Adatbázisok"); Színes.WriteLine("[blue]{más}: Programtesztelés"); if (Console.ReadKey().Key == ConsoleKey.A) { ReadmeAB(); } else { ReadmeP(); } debugmode = Színes.Be("\nNyomj egy entert, ha készen állsz! (debug-módhoz írd be azt is, hogy [blue]{debug}!)") == "debug"; string debug = ""; Tanuló.Setup(debug); Tanuló.Pontozás(debug); foreach (Teszt teszt in Teszt.szótár.Values) { teszt.Eredmények_Kiírása(debug); } Teszt.Eredmények_Összesítésének_Kiírása(debug); Színes.Be("A program futása véget ért, nyomj egy entert az ablak bezárásához!"); }
private static void accdb2txts(string debug, Tanuló tanuló) { debug += "accdb2txts" + Konzol.dbj; foreach (Feladat.NNT nnt in Feladat.setuplist) { tanuló.lekérdezés2txt(debug, nnt); } }
public static void Setup(string debug) { debug += "Tanuló.Setup" + dbj; Színes.WriteLine("Add meg, hogy mely könyvtárba lettek kiválogatva a dolgozatok! (A readme-ben az [green]{ide} könyvtár.)"); Teszt.root = Színes.Be(); #region Teszt-objektumok létrehozása Színes.WriteLine(debug + dbj + "[blue]{Teszt-objektumok létrehozása}"); foreach (string path in Directory.EnumerateDirectories(Directory.GetCurrentDirectory() + "\\" + Teszt.root).Where(x => !Path2name(x).StartsWith("-"))) { new Teszt(path); } #endregion #region Tanuló-objektumok létrehozása Színes.WriteLine(debug + dbj + "[blue]{Tanuló-objektumok létrehozása}"); Tanuló t; foreach (string tanulópath in Directory.EnumerateDirectories(Teszt.szótár.Values.First().path)) { if (tanulópath.Split('\\').Last()[0] != '-') // a kötőjellel kezdődőeket nem veszi figyelembe. { t = new Tanuló(tanulópath); Színes.Write(debug + $"[green]{{{t.név}}}"); Console.Write(" tanuló inicializálva"); if (t.ezamegoldókulcs) { Színes.Write(" [blue]{<-- ez a megoldókulcs!}"); } Console.WriteLine(); } } #endregion // létrehozza az ALT-okat. #region ALT (Adatbázis-Lekérdezés-Típus) rendezett hármasok beolvasása a setup.exe-ből. Színes.WriteLine(debug + dbj + "[blue]{ALT-objektumok létrehozása} (Adatbázis-Lekérdezés-Típus: rendezett hármasok beolvasása a setup.exe-ből.)"); using (StreamReader f = new StreamReader("setup.txt", Encoding.UTF8)) { while (!f.EndOfStream) { string sor = f.ReadLine(); if (sor[0] != '%') // megjegyzés, nem mentjük el { new ALT(sor); } } } Színes.WriteLine(debug + "setup.txt beolvasva:"); Színes.WriteLine("[blue]{adatbázis neve}\t[blue]{lekérdezés neve}\t -> \t[blue]{lekérdezés típusa}"); Színes.WriteLine("---------------------------"); foreach (ALT nnt in ALT.szótár.Values) { Console.WriteLine("{0}\t{1}\t -> \t{2}", nnt.adatbázisfájl, nnt.lekérdezésfájl, nnt.tipus); } #endregion }
public Tanuló(string dp) { dirpath = dp; név = Path2name(dp); ezamegoldókulcs = név[0] == '!'; if (ezamegoldókulcs) { megoldókulcs = this; } // Egyszerűsítés: ezamegoldókulcsot ki lehetne esetleg cserélni mindenhol Megoldókulcs.Equals(this)-re. szótár.Add(név, this); }
static void Main(string[] args) { Readme(); string debug = ""; Tanuló.Setup(debug); Tanuló.Pontozás(debug); foreach (Teszt teszt in Teszt.szótár.Values) { teszt.Eredmények_Kiírása(debug); } Teszt.Eredmények_Összesítésének_Kiírása(debug); Színes.Be("A program futása véget ért, nyomj egy entert az ablak bezárásához!"); }
static void Main(string[] args) { Színes.Init(); string debug = " "; root = Directory.GetCurrentDirectory(); Tanuló.Setup(debug); Feladat.Setup(debug); Tanuló.Allaccdb2txt(debug); //accdbfile = "cukraszda.accdb"; //Console.WriteLine("===================================="); //GetLekérdezés("3db"); Tanuló.HibákKiírása(debug); Színes.WriteLine("[green]{A program lefutott}. \n\t[blue]{A tanulók könyvtáraiban} (azaz a nem kötőjellel kezdődő könyvtárakban) [blue]{megtalálhatók a megadott lekérdezések és táblák lekérdezései tsv formátumban .txt kiterjesztéssel.}"); Színes.WriteLine("\tAz összehasonlításhoz futtass egy ellenőrzőprogramot, pl az [blue]{Összehasonlító.exe}-t"); Színes.WriteLine("\tNyomj meg egy gombot a befejezéshez!"); Console.ReadKey(); }
public Válasz(string path, Tanuló tanuló, Teszt test, ALT a) { alt = a; teszt = test; tulajdonos = tanuló; feladatnév = Path2name(path); if (feladatnév.Split('_').Length >= 3) // adatbázisok esetéen egy feladatnév mindig így néz ki: output_cukraszda_4laktozmentes.txt { adatbázis = feladatnév.Split('_')[1]; lekérdezés = feladatnév.Split('_')[2].Split('.')[0]; } else // programok outputjai esetében nincsen adatbázisnév és lekérdezésnév, ott az csak így néz ki: output4.txt { adatbázis = ""; lekérdezés = feladatnév.Split('.')[0]; } List <string[]> beolvasástartalma = new List <string[]>(); #region beolvasás: beolvasástartalma try { using (f = new StreamReader(path, Encoding.UTF8)) { while (!f.EndOfStream) { beolvasástartalma.Add(f.ReadLine().Split('\t')); } } } catch (Exception) { Színes.WriteLine($"[red]{{{path}}} nem található."); beolvasástartalma.Add(new string[1] { nemválaszolt }); } #endregion #region tábla kialakítása Size[0] = beolvasástartalma.Count; if (Size[0] != 0) { Size[1] = beolvasástartalma[0].Length; tábla = new string[Size[0], Size[1]]; for (int i = 0; i < Size[0]; i++) { for (int j = 0; j < Size[1]; j++) { tábla[i, j] = beolvasástartalma[i][j]; } } } else { tábla = new string[1, 1]; tábla[0, 0] = "Üres a tábla!"; } #endregion halmaz = new StringMultihalmaz(tábla, Size[0], Size[1]); }