using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading.Tasks;
namespace Ultrabalatonkonstruktor
{
class Futó
{
public string Név;
public int Rajtszám;
public string Kategória;
public string Időeredmény;
public int Százalék;
public Futó(string sor)
{
string[] daraboló = sor.Split(';');
Név = daraboló[0];
Rajtszám = int.Parse(daraboló[1]);
Kategória = daraboló[2];
Időeredmény = daraboló[3];
Százalék = int.Parse(daraboló[4]);
}
public double IdőÓrában()
{
string[] daraboló = Időeredmény.Split(':');
double Óra = double.Parse(daraboló[0]);
double Perc = double.Parse(daraboló[1]);
double Másodperc = double.Parse(daraboló[2]);
return (Óra + Perc / 60) + (Másodperc / 3600);
}
}
class Ultrabalaton_YourName
{
static void Main(string[] args)
{
List
<Futó
> futók
= new List
<Futó
>();
foreach (var sor in File.ReadAllLines("ub2017egyeni.txt").Skip(1))
{
futók
.Add(new Futó
(sor
));
}
Console.WriteLine($"3. feladat: Egyéni indulók: {futók.Count} fő");
int célbaÉrtNők = 0;
foreach (var Versenyző in futók)
{
if (Versenyző.Kategória == "Noi" && Versenyző.Százalék == 100) célbaÉrtNők++;
}
Console.WriteLine($"4. feladat: Célba érkező női sportolók: {célbaÉrtNők} fő");
Console.Write($"5. feladat: Kérem a sportoló nevét: ");
string beolvasottSor = Console.ReadLine();
bool találat = false;
bool célbaÉrt = false;
foreach (var Versenyző in futók)
{
if (Versenyző.Név == beolvasottSor)
{
találat = true;
if (Versenyző.Százalék == 100) célbaÉrt = true;
break;
}
}
Console.Write($"\tIndult egyéniben a sportoló? {(találat ? "Igen" : "Nem")}");
if (találat) Console.Write($"\n\tTeljesítette a teljes távot? {(célbaÉrt ? "Igen" : "Nem")}");
double célbaÉrtFérfiak = 0;
double összesIdő = 0;
foreach (var Versenyző in futók)
{
if (Versenyző.Kategória == "Ferfi" && Versenyző.Százalék == 100)
{
célbaÉrtFérfiak++;
összesIdő += Versenyző.IdőÓrában();
}
}
Console.WriteLine($"\n7. feladat: Átlagos idő: {összesIdő / célbaÉrtFérfiak} óra");
double győztesIdőFérfi = 999;
double győztesIdőNői = 999;
Futó férfiGyőztes = null;
Futó nőiGyőztes = null;
foreach (var Versenyző in futók)
{
if (Versenyző.Kategória == "Noi" && Versenyző.Százalék == 100 && Versenyző.IdőÓrában() < győztesIdőNői)
{
győztesIdőNői = Versenyző.IdőÓrában();
nőiGyőztes = Versenyző;
}
if (Versenyző.Kategória == "Ferfi" && Versenyző.Százalék == 100 && Versenyző.IdőÓrában() < győztesIdőFérfi)
{
győztesIdőFérfi = Versenyző.IdőÓrában();
férfiGyőztes = Versenyző;
}
}
Console.WriteLine("8. feladat: Verseny győztesei");
Console.WriteLine($"\tNők: {nőiGyőztes.Név} ({nőiGyőztes.Rajtszám}.) - {nőiGyőztes.Időeredmény}");
Console.WriteLine($"\tFérfiak: {férfiGyőztes.Név} ({férfiGyőztes.Rajtszám}.) - {férfiGyőztes.Időeredmény}");
Console.ReadKey();
}
}
}