using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _2021_03_17_Hiányzások { class Tanuló { public string Név; public string Osztály; public int ElsőNap; public int UtolsóNap; public int MulasztottÓrák; public Tanuló(string sor) { string[] darabolo = sor.Split(';'); Név = darabolo[0]; Osztály = darabolo[1]; ElsőNap = int.Parse(darabolo[2]); UtolsóNap = int.Parse(darabolo[3]); MulasztottÓrák = int.Parse(darabolo[4]); } } class Program { static void Main(string[] args) { List tanulók = new List(); foreach (var sor in File.ReadAllLines("szeptember.csv").Skip(1)) { tanulók.Add(new Tanuló(sor)); } int ÖsszesMulasztás = 0; foreach (var t in tanulók) { ÖsszesMulasztás += t.MulasztottÓrák; } Console.WriteLine("2. feladat"); Console.WriteLine($"\tÖsszes mulasztott órák száma: {ÖsszesMulasztás} óra."); Console.WriteLine("3. feladat"); Console.Write("\tKérem adjon meg egy napot: "); int NapBeolvasás = int.Parse(Console.ReadLine()); Console.Write("\tTanuló neve: "); string NévBeolvasás = Console.ReadLine(); bool HiányzottTanuló = false; foreach (var t in tanulók) { if (t.Név == NévBeolvasás && t.MulasztottÓrák > 0) { HiányzottTanuló = true; } } Console.WriteLine("4. Feladat"); Console.WriteLine($"\t{(HiányzottTanuló ? "A tanuló hiányzott szeptemberben" : "A tanuló nem hiányzott szeptemberben")}"); Console.WriteLine($"5. feladat: Hiányzók 2017.09.{NapBeolvasás}-n:"); List MegadottNaponHiányzók = new List(); foreach (var t in tanulók) { if (t.ElsőNap >= NapBeolvasás && t.UtolsóNap <= NapBeolvasás) { MegadottNaponHiányzók.Add(t); } } foreach (var t in MegadottNaponHiányzók) { Console.WriteLine($"\t{t.Név} ({t.Osztály})"); } List Osztályok = new List(); int[] OsztályonkéntHiányzás = new int[tanulók.Count]; foreach (var t in tanulók) { if (!Osztályok.Contains(t.Osztály)) { Osztályok.Add(t.Osztály); } } Osztályok.Sort(); foreach (var t in tanulók) { for (int i = 0; i < Osztályok.Count; i++) { if (Osztályok[i] == t.Osztály) { OsztályonkéntHiányzás[i] += t.MulasztottÓrák; } } } List VéglegesFileÍrás = new List(); int Iterátor = 0; foreach (var o in Osztályok) { VéglegesFileÍrás.Add($"\t{o};{OsztályonkéntHiányzás[Iterátor]}"); Iterátor++; } File.WriteAllLines("osszesites.csv", VéglegesFileÍrás); //jóval egyszerűbb mint egy filewriter és egy streamwriter és utána bezárni mindet ez sokkal egyszerűbbnek tűnik számomra Console.ReadKey(); } } }