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ó
> tanulók
= new List
<Tanuló
>();
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
<Tanuló
> MegadottNaponHiányzók
= new List
<Tanuló
>();
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
<string> Osztályok
= new List
<string>();
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
<string> VéglegesFileÍrás
= new List
<string>();
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();
}
}
}