ProgaOra/20250214/UszoVerseny/UszoVerseny/Program.cs
2025-02-14 11:20:29 +01:00

125 lines
3.2 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Reflection.Emit;
using System.Text;
using System.Threading.Tasks;
namespace UszoVerseny
{
public static class Eredmeny
{
public static List<Uszo> eredmenyek = new List<Uszo>();
public static void AdatokBetoltese(string path)
{
var adatsorok =
File.ReadAllText(path, Encoding.UTF8)
.Split('\n')
.Select(x => x.Trim());
foreach (var item in adatsorok)
{
var adatok = item.Split(';');
bool isNotString = Int32.TryParse(adatok[0].Trim(), out int uid);
if (!isNotString)
{
continue;
}
string unev = adatok[1];
int szulev = Int32.Parse(adatok[2]);
int szulho = Int32.Parse(adatok[3]);
int nem = Int32.Parse(adatok[4]);
double uszoido = Convert.ToDouble(adatok[5].Replace('.',','));
Uszo uszo = new Uszo(uid, unev, szulev, szulho, nem,uszoido);
eredmenyek.Add(uszo);
}
}
public static double AtlagosUszasiIdo()
{
return Convert.ToDouble( eredmenyek.Average(x => x.uszoido));
}
public static void Gyorsak()
{
FileStream fileStream = new FileStream("gyorsak.txt", FileMode.Create, FileAccess.Write);
StreamWriter streamWriter = new StreamWriter(fileStream);
foreach (var item in eredmenyek)
{
if (item.uszoido < 50)
{
streamWriter.WriteLine(item.kilistazas());
}
}
streamWriter.Close();
fileStream.Close();
}
public static void Leggyorsabb()
{
Uszo uszo = eredmenyek.OrderBy(x => x.uszoido).First();
Console.WriteLine(uszo.kilistazas());
}
}
public class Uszo
{
public int uid;
public string unev;
public int szulev;
public int szulho;
// nő 0 || férfi 1
public int nem;
public double uszoido;
public Uszo(int uid, string unev, int szulev, int szulho, int nem, double uszoido)
{
this.uid = uid;
this.unev = unev;
this.szulev = szulev;
this.szulho = szulho;
this.nem = nem;
this.uszoido = uszoido;
}
public string kilistazas()
{
return $"{uid};{unev};{szulev};{szulho};{nem};{uszoido}";
}
}
internal class Program
{
static void Main(string[] args)
{
string path = $@"C:\Users\szabomarton\Desktop\C#\ProgaOra\20250214\Feladat\uszoverseny.csv";
Eredmeny.AdatokBetoltese(path);
//5. feladat
Console.WriteLine($"Átlagos úszási idő {Eredmeny.AtlagosUszasiIdo()}");
//6.
Eredmeny.Gyorsak();
//7
Eredmeny.Leggyorsabb();
}
}
}