Készítő: Baby Stork, 4 éve frissítve, szöveg nyelve: C#.
Beágyazás:
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace _2021_03_17_Hiányzások
  9. {
  10.         class Tanuló
  11.         {
  12.                 public string Név;
  13.                 public string Osztály;
  14.                 public int ElsőNap;
  15.                 public int UtolsóNap;
  16.                 public int MulasztottÓrák;
  17.  
  18.                 public Tanuló(string sor)
  19.                 {
  20.                         string[] darabolo = sor.Split(';');
  21.                         Név = darabolo[0];
  22.                         Osztály = darabolo[1];
  23.                         ElsőNap = int.Parse(darabolo[2]);
  24.                         UtolsóNap = int.Parse(darabolo[3]);
  25.                         MulasztottÓrák = int.Parse(darabolo[4]);
  26.                 }
  27.         }
  28.         class Program
  29.         {
  30.                 static void Main(string[] args)
  31.                 {
  32.                         List<Tanuló> tanulók = new List<Tanuló>();
  33.  
  34.                         foreach (var sor in File.ReadAllLines("szeptember.csv").Skip(1)) {
  35.                                 tanulók.Add(new Tanuló(sor));
  36.                         }
  37.  
  38.                         int ÖsszesMulasztás = 0;
  39.                         foreach (var t in tanulók) {
  40.                                 ÖsszesMulasztás += t.MulasztottÓrák;
  41.                         }
  42.  
  43.                         Console.WriteLine("2. feladat");
  44.                         Console.WriteLine($"\tÖsszes mulasztott órák száma: {ÖsszesMulasztás} óra.");
  45.  
  46.                         Console.WriteLine("3. feladat");
  47.                         Console.Write("\tKérem adjon meg egy napot: ");
  48.  
  49.                         int NapBeolvasás = int.Parse(Console.ReadLine());
  50.  
  51.                         Console.Write("\tTanuló neve: ");
  52.                         string NévBeolvasás = Console.ReadLine();
  53.  
  54.                         bool HiányzottTanuló = false;
  55.                         foreach (var t in tanulók) {
  56.                                 if (t.Név == NévBeolvasás && t.MulasztottÓrák > 0) {
  57.                                         HiányzottTanuló = true;
  58.                                 }
  59.                         }
  60.  
  61.                         Console.WriteLine("4. Feladat");
  62.  
  63.                         Console.WriteLine($"\t{(HiányzottTanuló ? "A tanuló hiányzott szeptemberben" : "A tanuló nem hiányzott szeptemberben")}");
  64.  
  65.                         Console.WriteLine($"5. feladat: Hiányzók 2017.09.{NapBeolvasás}-n:");
  66.  
  67.                         List<Tanuló> MegadottNaponHiányzók = new List<Tanuló>();
  68.                         foreach (var t in tanulók) {
  69.                                 if (t.ElsőNap >= NapBeolvasás && t.UtolsóNap <= NapBeolvasás) {
  70.                                         MegadottNaponHiányzók.Add(t);
  71.                                 }
  72.                         }
  73.  
  74.                         foreach (var t in MegadottNaponHiányzók) {
  75.                                 Console.WriteLine($"\t{t.Név} ({t.Osztály})");
  76.                         }
  77.  
  78.                         List<string> Osztályok = new List<string>();
  79.                         int[] OsztályonkéntHiányzás = new int[tanulók.Count];
  80.                         foreach (var t in tanulók) {
  81.                                 if (!Osztályok.Contains(t.Osztály)) {
  82.                                         Osztályok.Add(t.Osztály);
  83.                                 }
  84.                         }
  85.  
  86.                         Osztályok.Sort();
  87.  
  88.                         foreach (var t in tanulók) {
  89.                                 for (int i = 0; i < Osztályok.Count; i++) {
  90.                                         if (Osztályok[i] == t.Osztály) {
  91.                                                 OsztályonkéntHiányzás[i] += t.MulasztottÓrák;
  92.                                         }
  93.                                 }
  94.                         }
  95.  
  96.                         List<string> VéglegesFileÍrás = new List<string>();
  97.  
  98.                         int Iterátor = 0;
  99.                         foreach (var o in Osztályok) {
  100.                                 VéglegesFileÍrás.Add($"\t{o};{OsztályonkéntHiányzás[Iterátor]}");
  101.                                 Iterátor++;
  102.                         }
  103.  
  104.                         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
  105.  
  106.                         Console.ReadKey();
  107.                 }
  108.         }
  109. }
  110.