using System.IO;

Main();

static void Main()
{
    DataRead();
    Console.WriteLine($"Ötven pontnál többet elérők száma: {OtvenFelettiek(Data.tanulok)}");
    Console.WriteLine($"A pontok átlaga: {Atlag(Data.tanulok):F2}");
    List<Tanulo> legjobbak = LegjobbHarom(Data.tanulok);
    for (int i = 0; i < 3; i++)
    {
        Console.WriteLine($"{legjobbak[i].Nev}, {legjobbak[i].Pont}");
    }
}

static int OtvenFelettiek(List<Tanulo> list)
{
    var result = list.Where(x => x.Pont > 50).Count();
    return result;
} 

static double Atlag(List<Tanulo> list)
{
    var result = list.Average(x => x.Pont);
    return result;
}

static List<Tanulo> LegjobbHarom(List<Tanulo> list)
{
    //List<Tanulo> legjobbharom = list.OrderByDescending(list => list.Pont).ToList();
    List<Tanulo> legjobbharom = (from tanulo in list
                                orderby tanulo.Pont descending
                                select tanulo).ToList();
    return legjobbharom;
}

static void DataRead()
{
    string path = "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20240920\\tanulok.txt";
    using (StreamReader streamReader = new StreamReader(path))
    {
        string line = streamReader.ReadLine();
        line = streamReader.ReadLine();

        while (line != null)
        {
            string[] datas = line.Split(',');
            Tanulo tanulo = new Tanulo(datas[0], Convert.ToInt32(datas[1]));
            Data.tanulok.Add(tanulo);
            line = streamReader.ReadLine();
        }

    }
}



public class Tanulo
{
    public string Nev;
    public int Pont;

    public Tanulo(string nev, int pont)
    {
        Nev = nev;
        Pont = pont;
    }
}

public static class Data
{
    public static List<Tanulo>  tanulok = new List<Tanulo>();
}