198 lines
6.6 KiB
C#
198 lines
6.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.IO;
|
|
using System.Text.RegularExpressions;
|
|
|
|
namespace ConsoleApp1
|
|
{
|
|
public class Adat
|
|
{
|
|
public int helyezes;
|
|
public int sportolok_szama;
|
|
public string sportag;
|
|
public string versenyszam;
|
|
public int olimpiaiPont = 0;
|
|
|
|
public Adat(int hely, int szam, string sport, string vszam)
|
|
{
|
|
helyezes = hely;
|
|
sportolok_szama = szam;
|
|
sportag = sport;
|
|
versenyszam = vszam;
|
|
}
|
|
}
|
|
class Program
|
|
{
|
|
static void TobbPont_Kiir(int uszas, int torna)
|
|
{
|
|
|
|
if (uszas > torna)
|
|
{
|
|
Console.WriteLine("Úszás sportágban szereztek több érmet.");
|
|
}
|
|
else if (uszas < torna)
|
|
{
|
|
Console.WriteLine("Torna sportágban szereztek több érmet.");
|
|
}
|
|
else
|
|
{
|
|
Console.WriteLine("Egyenlő volt az érmek száma.");
|
|
}
|
|
}
|
|
static void Main(string[] args)
|
|
{
|
|
FileStream fs = new FileStream("helsinki.txt", FileMode.Open, FileAccess.Read);
|
|
StreamReader sr = new StreamReader(fs);
|
|
|
|
List<Adat> adatok = new List<Adat>();
|
|
|
|
string sor = sr.ReadLine();
|
|
while (sor != null)
|
|
{
|
|
string[] xd = sor.Split(' ');
|
|
Adat asd = new Adat(Convert.ToInt32(xd[0]), Convert.ToInt32(xd[1]), xd[2], xd[3]);
|
|
adatok.Add(asd);
|
|
sor = sr.ReadLine();
|
|
}
|
|
|
|
sr.Close();
|
|
fs.Close();
|
|
|
|
int pontszerzok = 0;
|
|
int arany = 0;
|
|
int ezust = 0;
|
|
int bronz = 0;
|
|
int pontok = 0;
|
|
int uszas = 0;
|
|
int torna = 0;
|
|
|
|
foreach (var item in adatok)
|
|
{
|
|
switch (item.helyezes)
|
|
{
|
|
case 1:
|
|
arany++;
|
|
pontok += 7;
|
|
item.olimpiaiPont = 7;
|
|
if (item.sportag == "uszas")
|
|
{
|
|
uszas++;
|
|
}
|
|
if (item.sportag == "torna")
|
|
{
|
|
torna++;
|
|
}
|
|
|
|
goto pont;
|
|
case 2:
|
|
ezust++;
|
|
pontok += 5;
|
|
item.olimpiaiPont = 5;
|
|
if (item.sportag == "uszas")
|
|
{
|
|
uszas++;
|
|
}
|
|
if (item.sportag == "torna")
|
|
{
|
|
torna++;
|
|
}
|
|
goto pont;
|
|
case 3:
|
|
bronz++;
|
|
pontok += 4;
|
|
item.olimpiaiPont = 4;
|
|
if (item.sportag == "uszas")
|
|
{
|
|
uszas++;
|
|
}
|
|
if (item.sportag == "torna")
|
|
{
|
|
torna++;
|
|
}
|
|
goto pont;
|
|
case int n when n > 3 && n < 7 && n != 0:
|
|
switch (n)
|
|
{
|
|
case 4:
|
|
pontok += 3;
|
|
item.olimpiaiPont = 3;
|
|
break;
|
|
case 5:
|
|
pontok += 2;
|
|
item.olimpiaiPont = 2;
|
|
break;
|
|
case 6:
|
|
pontok += 1;
|
|
item.olimpiaiPont = 1;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
goto pont;
|
|
pont:
|
|
pontszerzok++;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
Console.WriteLine("3.feladat:");
|
|
Console.WriteLine($"Pontszerző helyezések száma: {pontszerzok}");
|
|
Console.WriteLine("4.feladat:");
|
|
Console.WriteLine($"Arany: {arany}");
|
|
Console.WriteLine($"Ezüst: {ezust}");
|
|
Console.WriteLine($"Bronz: {bronz}");
|
|
Console.WriteLine($"Összesen: {arany + ezust + bronz}");
|
|
Console.WriteLine("5.feladat:");
|
|
Console.WriteLine($"Olimpiai pontok száma: {pontok}");
|
|
Console.WriteLine("6.feladat:");
|
|
TobbPont_Kiir(uszas, torna);
|
|
|
|
FileStream fileStream = new FileStream("helsinki2.txt", FileMode.Create, FileAccess.Write);
|
|
StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.Unicode);
|
|
|
|
foreach (var item in adatok)
|
|
{
|
|
string reg = @"kajak.kenu";
|
|
Regex re = new Regex(reg);
|
|
if (item.sportag == "kajakkenu" || re.IsMatch(item.sportag))
|
|
{
|
|
streamWriter.WriteLine($"{item.helyezes} {item.sportolok_szama} {item.olimpiaiPont} kajak-kenu {item.versenyszam}");
|
|
}
|
|
else
|
|
{
|
|
streamWriter.WriteLine($"{item.helyezes} {item.sportolok_szama} {item.olimpiaiPont} {item.sportag} {item.versenyszam}");
|
|
}
|
|
|
|
}
|
|
streamWriter.Close();
|
|
fileStream.Close();
|
|
|
|
int legtobb = 0;
|
|
int hely = 0;
|
|
|
|
for (int i = 0; i < adatok.Count; i++)
|
|
{
|
|
if (adatok[i].sportolok_szama > legtobb)
|
|
{
|
|
legtobb = adatok[i].sportolok_szama;
|
|
hely = i;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
Console.WriteLine("8.feladat:");
|
|
Console.WriteLine($"Helyezés: {adatok[hely].helyezes}");
|
|
Console.WriteLine($"Sportág: {adatok[hely].sportag}");
|
|
Console.WriteLine($"Versenyszám: {adatok[hely].versenyszam}");
|
|
Console.WriteLine($"Sportolók száma: {adatok[hely].sportolok_szama}");
|
|
}
|
|
}
|
|
}
|