ProgaOra/20240131_doga_B/ConsoleApp1/Program.cs
2024-02-03 07:24:39 +01:00

179 lines
5.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Xml.Schema;
using System.Runtime.InteropServices.ComTypes;
namespace ConsoleApp1
{
public class Uzenet
{
public string nev;
public int ora, perc, adasdb;
public Uzenet(int ora, int perc, int adasdb, string nev)
{
this.ora = ora;
this.perc = perc;
this.adasdb = adasdb;
this.nev = nev;
}
}
public static class Data
{
public static List<Uzenet> adatok = new List<Uzenet>();
public static List<string> soforok = new List<string>();
public static List<int> adas_soforok = new List<int>();
}
class Program
{
public static int Feladat3()
{
return Data.adatok.Count;
}
public static bool Feladat4()
{
foreach (var item in Data.adatok)
{
if (item.adasdb == 4)
{
return true;
}
}
return false;
}
public static void Feladat5()
{
Console.Write("5. feladat: Kérek egy nevet: ");
string name = Console.ReadLine();
int cntr = 0;
foreach (var item in Data.adatok)
{
if (item.nev == name)
{
cntr += item.adasdb;
}
}
if (cntr != 0)
{
Console.WriteLine($"\t{name} {cntr}x használta a CB-rádiót.");
}
else
{
Console.WriteLine("\tNincs ilyen nevű sofőr.");
}
}
public static int AtszamolPercre(int ora, int perc)
{
return ora * 60 + perc;
}
public static void Feladat7()
{
FileStream fileStream = new FileStream("cb2.txt", FileMode.Create, FileAccess.Write);
StreamWriter streamWriter = new StreamWriter(fileStream);
streamWriter.WriteLine("Kezdes;Nev;AdasDb");
foreach (var item in Data.adatok)
{
streamWriter.WriteLine($"{AtszamolPercre(item.ora, item.perc)};{item.nev};{item.adasdb}");
}
streamWriter.Close();
fileStream.Close();
}
public static void Soforok()
{
foreach (var item in Data.adatok)
{
if (!Data.soforok.Contains(item.nev))
{
Data.soforok.Add(item.nev);
}
}
}
public static int Feladat8()
{
return Data.soforok.Count;
}
public static void Adas_soforok()
{
foreach (var sofor in Data.soforok)
{
int cntr = 0;
foreach (var uzenet in Data.adatok)
{
if (sofor == uzenet.nev)
{
cntr += uzenet.adasdb;
}
}
Data.adas_soforok.Add(cntr);
}
}
public static void Feladat9()
{
Console.WriteLine("9. feladat: Legtöbb adást indító sofőr");
int ind = 0;
for (int i = 1; i < Data.adas_soforok.Count; i++)
{
if (Data.adas_soforok[i] > Data.adas_soforok[ind])
{
ind = i;
}
}
Console.WriteLine($"\tNév: {Data.soforok[ind]}");
Console.WriteLine($"\tAdások száma: {Data.adas_soforok[ind]}");
}
static void Main(string[] args)
{
Data.adatok.Clear();
FileStream fileStream = new FileStream("cb.txt", FileMode.Open, FileAccess.Read);
StreamReader streamReader = new StreamReader(fileStream);
string[] data = streamReader.ReadToEnd().Split('\n');
streamReader.Close();
fileStream.Close();
for (int i = 1; i < data.Length - 1; i++)
{
string[] sor = data[i].Split(';');
Uzenet uzi = new Uzenet(int.Parse(sor[0]), int.Parse(sor[1]), int.Parse(sor[2]), sor[3]);
Data.adatok.Add(uzi);
}
Console.WriteLine($"3. feladat: Bejegyzések száma: {Feladat3()}");
if (Feladat4())
{
Console.WriteLine($"4. feladat: Volt négy adást indító sofőr.");
}
else
{
Console.WriteLine($"4. feladat: Nem volt négy adást indító sofőr.");
}
Feladat5();
Feladat7();
Soforok();
Console.WriteLine($"8. feladat: Sofőrök száma: {Feladat8()} fő");
Adas_soforok();
Feladat9();
}
}
}