ProgaOra/20240129_doga/SzaboMarton_20240129_dolgozat.txt

175 lines
5.4 KiB
Plaintext
Raw Normal View History

2024-01-29 10:21:55 +00:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace ConsoleApp1
{
public class Egyed
{
public string versenyzo, kategoria, versenyido;
public int rajtszam, tavszazalek;
public double idooraban;
public Egyed(string Versenyzo, int Rajtszam, string Kategoria, string Versenyido, int Tavszazalek)
{
versenyido = Versenyido;
versenyzo = Versenyzo;
kategoria = Kategoria;
rajtszam = Rajtszam;
tavszazalek = Tavszazalek;
idooraban = IdoOraban();
}
public double IdoOraban()
{
string[] ido = versenyido.Split(':');
int[] idoint = { Convert.ToInt32(ido[0]), Convert.ToInt32(ido[1]), Convert.ToInt32(ido[2]) };
return idoint[0] + idoint[1] / 60 + idoint[2] / 3600;
}
}
class Program
{
private static int Feladat3(List<Egyed> adatok)
{
int cntr = 0;
foreach (var item in adatok)
{
cntr++;
}
return cntr;
}
private static int Feladat4(List<Egyed> adatok)
{
int counter = 0;
foreach (var item in adatok)
{
if (item.kategoria != "Ferfi" && item.tavszazalek == 100)
{
counter++;
}
}
return counter;
}
private static void Feladat5(List<Egyed> adatok, string nev)
{
bool tartalmaz = false;
int ind = -1;
for (int i = 0; i < adatok.Count; i++)
{
if (adatok[i].versenyzo == nev)
{
tartalmaz = true;
ind = i;
break;
}
}
if (tartalmaz)
{
Console.WriteLine($"\tIndult egyéniben a sportoló? Igen");
if (adatok[ind].tavszazalek == 100)
{
Console.WriteLine("\tTeljesítette a teljes távot? Igen");
}
else
{
Console.WriteLine("\tTeljesítette a teljes távot? Nem");
}
}
else
{
Console.WriteLine($"\tIndult egyéniben a sportoló? Nem");
}
}
private static double Feladat7(List<Egyed> adatok)
{
int cntr = 0;
double osszido = 0;
foreach (var item in adatok)
{
if (item.tavszazalek == 100 && item.kategoria == "Ferfi")
{
cntr++;
osszido += item.idooraban;
}
}
return osszido / cntr;
}
private static string Feladat8F(List<Egyed> adatok)
{
int ind = 0;
int cntr = 0;
foreach (var item in adatok)
{
if (adatok[ind].idooraban > item.idooraban && item.tavszazalek == 100 && item.kategoria == "Ferfi")
{
ind = cntr;
}
cntr++;
}
return $"{adatok[ind].versenyzo} ({adatok[ind].rajtszam}.) - {adatok[ind].versenyido}";
}
private static string Feladat8N(List<Egyed> adatok)
{
int ind = 0;
int cntr = 0;
foreach (var item in adatok)
{
if (adatok[ind].idooraban > item.idooraban && item.tavszazalek == 100 && item.kategoria == "Noi")
{
ind = cntr;
}
cntr++;
}
return $"{adatok[ind].versenyzo} ({adatok[ind].rajtszam}.) - {adatok[ind].versenyido}";
}
static void Main(string[] args)
{
List<Egyed> adatok = new List<Egyed>();
FileStream fileStream = new FileStream("ub2017egyeni.txt", FileMode.Open, FileAccess.Read);
StreamReader streamReader = new StreamReader(fileStream);
string sor = streamReader.ReadLine();
sor = streamReader.ReadLine();
while (sor != null)
{
string[] arr = sor.Split(';');
Egyed egyed = new Egyed(arr[0], Convert.ToInt32(arr[1]), arr[2], arr[3], Convert.ToInt32(arr[4]));
adatok.Add(egyed);
sor = streamReader.ReadLine();
}
streamReader.Close();
fileStream.Close();
Console.ForegroundColor = ConsoleColor.Magenta;
Console.BackgroundColor = ConsoleColor.Blue;
Console.WriteLine($"3. feladat: Egyéni indulók: {Feladat3(adatok)} fő");
Console.WriteLine($"4. feladat: Célba érkező női sportolók: {Feladat4(adatok)} fő");
Console.WriteLine($"5. feladat: Kérem a sporotló nevét: ");
string sportolo = Console.ReadLine();
Feladat5(adatok, sportolo);
Console.WriteLine($"7. feladat: Átlagos idő: {Feladat7(adatok)} óra");
Console.WriteLine($"8. feladat: Verseny győztesei:");
Console.WriteLine($"\tNők: {Feladat8N(adatok)}");
Console.WriteLine($"\tFérfiak: {Feladat8F(adatok)}");
Console.ResetColor();
}
}
}