2023. október 27., péntek

2023.10.27. Házi feladat

  Házi feladat megoldani a Szoftverek feladatsort (hiányzóknak is).

2023.10.27. Versenymotorok alap szintű megoldás

 namespace MotorokAlap

{
    class Motor
    {
        public string Gyarto { get; set; }
        public string Modell { get; set; }
        public int MaximalisSebesseg { get; set; }
        public double UzemanyagFogyasztas { get; set; }
        public int Hengerurtartalom { get; set; }
        public string KerekfelfuggesztésTipus { get; set; }

        public Motor(string sor)
        {
            string[] adatok = sor.Split(';');
            Gyarto = adatok[0];
            Modell = adatok[1];
            MaximalisSebesseg = int.Parse(adatok[2]);
            UzemanyagFogyasztas = double.Parse(adatok[3]);
            Hengerurtartalom = int.Parse(adatok[4]);
            KerekfelfuggesztésTipus = adatok[5];
        }

        public override string ToString()
        {
            return $"Gyártó: {Gyarto}\nModell: {Modell}\nMaximális Sebesség: {MaximalisSebesseg} km/h\nÜzemanyagfogyasztás: {UzemanyagFogyasztas} liter/100 km\nHengerűrtartalom: {Hengerurtartalom} cc\nKerékfelfüggesztés típusa: {KerekfelfuggesztésTipus}\n";
        }

        public double LiterbolGallonba()
        {
            return UzemanyagFogyasztas * 0.264172;
        }
    }
}


using System;
using System.Collections.Generic;
using System.IO;

namespace MotorokAlap
{
    class Program
    {
        static void Main()
        {
            List<Motor> motorok = new();
            using (StreamReader sr = new StreamReader(@"..\..\..\src\motorok.txt"))
            {
                while (!sr.EndOfStream)
                {
                    motorok.Add(new Motor(sr.ReadLine()));
                }
            }

            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine(motorok[i]);
            }

            Console.WriteLine("9.\n");
            Console.WriteLine($"Átlagos sebesség: {Math.Round(AtlagSebesseg(motorok))} km/h");            

            Console.WriteLine("10.\n");
            List<Motor> yamahaLista = new();
            foreach (var motor in motorok)
            {
                if (motor.Gyarto == "Yamaha" && motor.Hengerurtartalom > 1000)
                {
                    yamahaLista.Add(motor);
                }
            }
            Console.WriteLine($"{Yamaha1000felett(yamahaLista)} 1000 cc fölötti Yamaha motor van.");
           

            Console.WriteLine("11.Legkisebb fogyasztású motorok:\n");
            var kicsi = LegkisebbFogyasztasuMotor(motorok);
            foreach (var motor in kicsi)
            {
                Console.WriteLine(motor);
            }

            Console.WriteLine("12.Honda motorok, melyeknek fogyasztása kisebb, mint a legnagyobb Suzuki modellé:\n");
            List<Motor> hondaSuzuki = HondaSuzuki(motorok);
            if (hondaSuzuki.Count == 0)
            {
                Console.WriteLine("Nincs olyan Honda motor, aminek a fogyasztása kisebb, mint a legnagyobb Suzuki modellé.");
            }
            else
            {
                Console.WriteLine(hondaSuzuki[0]);
            }

            Console.WriteLine("13.BMW márkájú motorok vagy 300 km/h feletti maximális sebességű motorok:\n");
            foreach (var item in KivalogatoBMW(motorok))
            {
                Console.WriteLine(item);
            }

            Console.WriteLine("15.Fájlba írás\n");

            using (StreamWriter writer = new StreamWriter(@"..\..\..\src\motorok_gallon.txt"))
            {
                foreach (var motor in motorok)
                {
                    writer.WriteLine($"{motor.Gyarto};{motor.Modell};{motor.LiterbolGallonba()} gallon/100 km");
                }
            }
        }

        static double AtlagSebesseg(List<Motor> motorok)
        {
            double osszeg = 0;
            foreach (var motor in motorok)
            {
                osszeg += motor.MaximalisSebesseg;
            }
            return osszeg / motorok.Count;
        }

        static int Yamaha1000felett(List<Motor> yamaha)
        {
            return yamaha.Count;
        }

        static List<Motor> LegkisebbFogyasztasuMotor(List<Motor> motorok)
        {
            double minFogyasztas = motorok[0].UzemanyagFogyasztas;
            foreach (var motor in motorok)
            {
                if (motor.UzemanyagFogyasztas < minFogyasztas)
                {
                    minFogyasztas = motor.UzemanyagFogyasztas;
                }
            }

            List<Motor> kisFogyasztasuMotorok = new();
            foreach (var motor in motorok)
            {
                if (motor.UzemanyagFogyasztas == minFogyasztas)
                {
                    kisFogyasztasuMotorok.Add(motor);
                }
            }
            return kisFogyasztasuMotorok;
        }

        static List<Motor> HondaSuzuki(List<Motor> motorok)
        {
            Motor legnagyobbSuzuki = motorok[0];
            foreach (var motor in motorok)
            {
                if (motor.Gyarto == "Suzuki" && motor.Hengerurtartalom > legnagyobbSuzuki.Hengerurtartalom)
                {
                    legnagyobbSuzuki = motor;
                }
            }

            List<Motor> honda = new();
            foreach (var motor in motorok)
            {
                if (motor.Gyarto == "Honda" && motor.UzemanyagFogyasztas < legnagyobbSuzuki.UzemanyagFogyasztas)
                {
                    honda.Add(motor);
                }
            }
            return honda;
        }

        static List<Motor> KivalogatoBMW(List<Motor> motorok)
        {
            List<Motor> bmw = new();
            foreach (var motor in motorok)
            {
                if (motor.Gyarto == "BMW" || (motor.Gyarto != "BMW" && motor.MaximalisSebesseg > 300))
                {
                    bmw.Add(motor);
                }
            }
            return bmw;
        }        
    }
}

2023.10.27. Terepjárók LINQ megoldás

K. Levi megoldása alapján

using System;

using System.Collections.Generic;

using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TZ
{
    class Terepjaro
    {
        public string MarkaEsModell { get; set; }
        public int Evjarat { get; set; }
        public string UzemanyagTipus { get; set; }
        public double Tomeg { get; set; }
        public string HajtasTipus { get; set; }
        public string Kepesseg { get; set; }
        public double KgAtvaltFont {
            get => Tomeg * 2.20462;
        }

        public Terepjaro(string sor)
        {
            var adat = sor.Split(";");
            MarkaEsModell = adat[0];
            Evjarat = int.Parse(adat[1]);
            UzemanyagTipus = adat[2];
            Tomeg = double.Parse(adat[3]);
            HajtasTipus = adat[4];
            Kepesseg = adat[5];
        }

        public override string ToString()
        {
            return $"Márka és Modell: {MarkaEsModell}, " +
                $"Évjárat: {Evjarat}, " +
                $"Uzemanyag típus: {UzemanyagTipus}, " +
                $"Tömeg: {Tomeg}, " +
                $"Hajtás típus: {HajtasTipus}, " +
                $"Képesség: {Kepesseg}";
        }
    }
}


using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

namespace Kozma_Levente_TZ_20231016
{
    class Program
    {
        private static readonly List<Terepjaro> terepjarok = new();
        private static List<Terepjaro> osszkereskesTerepjarok = new();
        static void Main(string[] args)
        {   //src mappában legyenek a fájlok
            using (StreamReader r = new(path: "terepjarok.txt"))
            {
                while (!r.EndOfStream)
                    terepjarok.Add(new Terepjaro(r.ReadLine()));
            }

            // 7. Feladat
            Console.WriteLine("7. Feladat");
            for (int i = 0; i < 3; i++)
                Console.WriteLine(terepjarok[i]);

            // 9. Feladat
            Console.WriteLine("9. Feladat");
            Console.WriteLine($"A Toyota terepjárók átlagos tömege: {TerepjaroTomegAtlag("Toyota")}");

            // 10. Feladat
            Console.WriteLine("10. Feladat");
            osszkereskesTerepjarok = terepjarok.Where(t => t.Evjarat > 2019 && t.HajtasTipus.Equals("Összkerékhajtás")).ToList();
            Console.WriteLine($"Összesen {OsszkerekesTerepjarokSzama()}db összkerekes terepjáró van 2019 után.");

            // 11. Feladat
            foreach (var i in LegkonyebbTerepjaro())
                Console.WriteLine(i);

            // 12. Feladat
            Console.WriteLine("12. Feladat");
            Console.WriteLine(HibridDizel());

            // 13. Feladat
            Console.WriteLine("13. Feladat");
            HajtasKereso("Összkerékhajtás").ForEach(t => Console.WriteLine(t)); //szép!

            // 15. Feladat
            using (StreamWriter w = new(path: "ujTerepjarok.txt"))
            {
                terepjarok.ForEach(t => w.WriteLine($"{t.MarkaEsModell};{t.Evjarat};{t.KgAtvaltFont}"));
            }

            // 16. Feladat
            var min = 0;
            var max = 0;
            LegkonyebbEsnehezebb(ref min, ref max);
            Console.WriteLine($"Legkönyebb terepjáró indexe: {min}, Legnehezebb {max}");
        }

        private static double TerepjaroTomegAtlag(string markaNev)
        {
            return Math.Round(terepjarok.Where(t => t.MarkaEsModell.Contains(markaNev)).Average(t => t.Tomeg));
        }

        private static int OsszkerekesTerepjarokSzama()
        {
            return osszkereskesTerepjarok.Count;
        }

        private static Terepjaro[] LegkonyebbTerepjaro()
        {
            return terepjarok
                .Where(t1 => t1.Tomeg.Equals(terepjarok.Min(t2 => t2.Tomeg)))
                .ToArray();
        }

        private static string HibridDizel()
        {
            var hibrid = terepjarok.Where(t1 => t1.UzemanyagTipus.Equals("Hibrid")).ToArray();
            var dizel = terepjarok.Where(t2 => t2.UzemanyagTipus.Equals("Dízel")).ToArray();

            var auto = hibrid.Where(h => h.Evjarat < dizel.Max(d => d.Evjarat)).FirstOrDefault();
            return auto == null ? "Nincs ilyen" : auto.ToString();
        }

        private static List<Terepjaro> HajtasKereso(string hajtas)
        {
            return terepjarok.Where(t => t.HajtasTipus.Equals(hajtas)).ToList();
            //vagy
            //return terepjarok.Where(t => t.HajtasTipus == hajtas).ToList();
        }

        private static void LegkonyebbEsnehezebb(ref int minS, ref int maxS)
        {
            var min = terepjarok.Min(t => t.Tomeg);
            var max = terepjarok.Max(t => t.Tomeg);

            for (int i = 0; i < terepjarok.Count; i++)
            {
                if (min == terepjarok[i].Tomeg) minS = i + 1;
                if (max == terepjarok[i].Tomeg) maxS = i + 1;
            }
        }
    }
}

2023. október 26., csütörtök

2023.10.26. Tesztelés (+prog. hf)

 Hazapostáztuk a prog. tz-javításokat, házi feladat holnapra befejezni. Holnap ellenőrzünk, szünet után lesz lehetőség a javításra.

Gondoskodtunk a tesztelési anyagok megosztásáról. Az otthon lévők figyeljenek rá, hogy biztos elérhető legyen minden megoldásuk.

Készen lettünk a tesztekkel. Szünet után minden csoport megoldja a többi csoport tesztjeit.

2023. október 20., péntek

2023. október 13., péntek

2023.10.13. Employee hagyományos megoldás

  Az Employee feladat nem LINQ-s, hagyományos megoldása

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Employee
{
    class Dolgozok
    {
        //name, age, city, department, position, gender, marital status, salary (EUR)
        public string Nev { get; set; }
        public int Eletkor { get; set; }
        public string Varos { get; set; }
        public string Osztaly { get; set; }
        public string Pozicio { get; set; }
        public string Nem { get; set; }
        public string CsaladiAllapot { get; set; }
        public double Fizetes { get; set; }


        public Dolgozok(string sor)
        {
            var v = sor.Split(';');
            Nev = v[0];
            Eletkor = int.Parse(v[1]);
            Varos = v[2];
            Osztaly = v[3];
            Pozicio = v[4];
            Nem = v[5];
            CsaladiAllapot = v[6];
            Fizetes = Convert.ToDouble(v[7]);
        }

        public double EvesFizetesForintban()
        {
            return Fizetes * 12 * 390;
        }

        //Készíts egy osztályon belüli virtuális metódust az adatok kiírására.
        public override string ToString()
        {
            return $"{Nev}; {Eletkor}; {Varos}; {Osztaly}; {Pozicio}; {Nem}; {CsaladiAllapot}; {Fizetes}";
        }
    }
}


using System;
using System.IO;
using System.Collections.Generic;
namespace Employee
{
    class Program
    {
        //A következő feladatokat a program osztályban elhelyezett statikus metódusokkal oldd meg. (Aki szeret kísérletezni, teheti ezeket a metódusokat egy újabb osztályba.) Egyes feladatokat meg lehet oldani LINQ-val is, de ha belefér az időbe, kódoljátok le hagyományosan is.Ha van olyan feladat, ami nem egyértelmű, pl.az, hogyan kell kiírni, ott rád van bízva a megoldás.
        //Függvény segítségével írd ki az életkorok átlagát.
        #region statikus metódusok
        static double atlagEletkor(List<Dolgozok> k)
        {
            double osszegEletkor = 0;
            for (int i = 0; i < k.Count; i++)
            {
                osszegEletkor = osszegEletkor + k[i].Eletkor;
            }
            return osszegEletkor / k.Count;
        }
        //Függvény segítségével írd ki azon személyek számát, akiknek a városa 'Budapest'.
        static int szemelyekBp(List<Dolgozok> k)
        {
            int db = 0;
            for (int i = 0; i < k.Count; i++)
            {
                if (k[i].Varos == "Budapest")
                {
                    db++;
                }
            }
            return db;
        }
        //Függvény segítségével keresd ki, majd a virtuális metódus segítségével írd ki a legidősebb személy adatait.
        //Ez a megoldás nem függvénnyel készült.
        static void legidosebbSzemely(List<Dolgozok> k)
        {
            int legidosebbEletkor = k[0].Eletkor;
            for (int i = 1; i < k.Count; i++)
            {
                if (k[i].Eletkor > legidosebbEletkor)
                {
                    legidosebbEletkor = k[i].Eletkor;
                }
            }            
            for (int i = 0; i < k.Count; i++)
            {
                if (k[i].Eletkor == legidosebbEletkor)
                {
                    Console.WriteLine(k[i]);
                }
            }
        }

        //Függvény segítségével keresd ki, majd a virtuális metódus segítségével írd ki a legidősebb személy adatait.
        //Ez a megoldás függvénnyel készült.
        static Dolgozok legidosebbSzemely1(List<Dolgozok> k)
        {
            Dolgozok legidosebb = k[0];
            for (int i = 1; i < k.Count; i++)
            {
                if (k[i].Eletkor > legidosebb.Eletkor)
                {
                    legidosebb = k[i];
                }
            }
            return legidosebb;
        }
        //Függvény segítségével döntsd el, majd a főprogramban írd ki, hogy van - e 30 év fölötti személy, és emellett írd ki a nevét is. (Ez a függvény tehát két értéket kell, hogy generáljon, ezt egyetlen szövegként add vissza a főprogramnak, és a főprogram bontsa szét az adatokat, majd utána írja ki.)
        static string harmincFeletti(List<Dolgozok> k)
        {
            bool van = false;
            int i = 0;
            while (i < k.Count)
            {
                if (k[i].Eletkor > 30)
                {
                    van = true;
                }
                i++;
            }

            if (van)
            {
                return $"{"true"} {k[i - 1].Nev}";
            }
            else
            {
                return $"{"false"} {"nincs"}";
            }
        }
        //Függvénnyel válogasd ki azon személyek nevét egy új tömbbe (nem listába), akik 30 évnél fiatalabbak. Ennek a tömbnek a hasznos tartalmát írd ki a főprogramban.
        static string[] harmincAlatt(List<Dolgozok> k)
        {
            int x = 0;
            for (int i = 0; i < k.Count; i++)
            {
                if (k[i].Eletkor < 30)
                {
                    x++;
                }
            }
            string[] harmincAlattTomb = new string[x];
            int j = 0;
            for (int i = 0; i < k.Count; i++)
            {
                if (k[i].Eletkor < 30)
                {
                    harmincAlattTomb[j] = k[i].Nev;
                    j++;
                }
            }
            return harmincAlattTomb;
        }
        //Egyetlen függvénnyel keresd meg a legfiatalabb és a legidősebb személyt. A függvénynek legyen két olyan paramétere, amiben az eredményt vissza lehet juttatni a főprogramba, és ott ki lehet írni a nevüket és a korukat. A függvény visszatérési értéke pedig képes legyen azt jelezni, hogy van-e több ugyanolyan korú legfiatalabb személy.
        static bool legidosebbEsLegfiatalabbSzemely(List<Dolgozok> k, out string legidosebbNev, out string legfiatalabbNev)
        {
            int legidosebbEletkor = k[0].Eletkor;
            legidosebbNev = k[0].Nev;
            int szamlalo1 = 0;
            for (int i = 1; i < k.Count; i++)
            {
                if (k[i].Eletkor > legidosebbEletkor)
                {
                    legidosebbEletkor = k[i].Eletkor;
                    legidosebbNev = k[i].Nev;
                }
            }
            for (int i = 0; i < k.Count; i++)
            {
                if (k[i].Eletkor == legidosebbEletkor) szamlalo1++;
            }

            int legfiatalabbEletkor = k[0].Eletkor;
            legfiatalabbNev = k[0].Nev;
            int szamlalo2 = 0;
            for (int j = 1; j < k.Count; j++)
            {
                if (k[j].Eletkor < legfiatalabbEletkor)
                {
                    legfiatalabbEletkor = k[j].Eletkor;
                    legfiatalabbNev = k[j].Nev;
                    szamlalo2++;
                }
            }
            for (int i = 0; i < k.Count; i++)
            {
                if (k[i].Eletkor == legfiatalabbEletkor) szamlalo2++;
            }
            //a legutolsó legidősebbet és a legutolsó legfiatalabbat adja meg
            //ez is jó:
            //if (szamlalo1 > 0 || szamlalo2 > 0)
            //{
            //    return true;
            //}
            //else
            //{
            //    return false;
            //}
            //de ez még szebb:
            return szamlalo1 > 0 || szamlalo2 > 0 ? true : false;
        }
        //Készíts egy függvényt, ami átszámolja az euróban megadott havi fizetést éves fizetéssé, és az eredményt még váltsd át magyar forintba is.
        //ez az osztályban van

        //Készíts egy függvényt, amelynek visszatérési értéke egy objektumokat tartalmazó lista, amelyben szerepel az 5 millió forint éves fizetés feletti munkavállalók neve és az éves fizetésük forintban. (Az átszámításhoz használd az előző feladat függvényét.)  Az elkészült listát a főprogram írja ki egy új fájlba(a virtuális metódus segítségével).
        //itt folytatjuk
        static List<string> FajlbaIras(List<Dolgozok> k)
        {
            List<string> evesForint = new List<string>();
            foreach (var item in k)
            {
                if (item.EvesFizetesForintban() > 5000000)
                {
                    evesForint.Add($"Név: {item.Nev} Éves fizetés forintban: {item.EvesFizetesForintban()}");
                }
            }
            return evesForint;
        }
        //Írj egy függvényt, aminek a paramétere az eredeti adatokat tartalmazó listának megfelelő típusú. Ennek segítségével számold ki az összes alkalmazott átlagfizetését.
        static double atlag(List<Dolgozok> k)
        {
            double osszeg = 0;
            for (int i = 0; i < k.Count; i++)
            {
                osszeg = osszeg + k[i].Fizetes;
            }
            return Math.Round (osszeg / k.Count, 2);
        }
        #endregion
        static void Main(string[] args)
        {
            //Az osztály segítségével hozz létre egy listát, amely objektumpéldányokat tartalmaz a forrásfájlból beolvasott adatokkal.
            var dolgozok = new List<Dolgozok>();
            foreach (var i in File.ReadAllLines(@"../../src/employee.txt"))
            {
                if (i != "")
                {
                    dolgozok.Add(new Dolgozok(i));
                }
            }
            //A virtuális metódus segítségével írd ki az összes adatot.
            Console.WriteLine("7.feladat");
            Console.WriteLine();
            foreach (var item in dolgozok)
            {
                Console.WriteLine(item);
            }
            //Propertyk kidolgozása(Szorgalmi feladat)
            //Dolgozd ki a property-ket is, és használd őket az adatokhoz való korrekt hozzáférésre és módosításra.
            //Hibakezelés(Szorgalmi feladat)
            //Implementálj hibakezelést az alkalmazásban, például az adatok beolvasásakor vagy a fájlba írás során.      
            Console.WriteLine();
            Console.WriteLine("8.feladat");
            Console.WriteLine();
            Console.WriteLine($"Az átlagéletkor: {atlagEletkor(dolgozok):0.00}");
            Console.WriteLine();
            Console.WriteLine("9.feladat");
            Console.WriteLine();
            Console.WriteLine($"Budapesti lakosok száma: {szemelyekBp(dolgozok)}");
            Console.WriteLine();
            Console.WriteLine("10.feladat 1. megoldás");
            Console.WriteLine();
            legidosebbSzemely(dolgozok);
            Console.WriteLine();
            Console.WriteLine("10.feladat 2. megoldás");
            Console.WriteLine();
            Dolgozok legidosebbDolgozo = legidosebbSzemely1(dolgozok);
            for (int i = 0; i < dolgozok.Count; i++)
            {
                if (dolgozok[i].Eletkor == legidosebbDolgozo.Eletkor)
                {
                    Console.WriteLine(dolgozok[i]);
                }
            }
            Console.WriteLine();
            Console.WriteLine("11.feladat");
            Console.WriteLine();
            var valasz = harmincFeletti(dolgozok).Split(' ');
            if (valasz[0] =="true")
            {
                Console.WriteLine($"Van 30 év feletti személy, az elsőnek a neve: {valasz[1]}");
            }
            else
            {
                Console.WriteLine($"Nincs 30 év feletti személy. ");
            }
            Console.WriteLine();
            Console.WriteLine("12.feladat");
            Console.WriteLine();
            foreach (var item in harmincAlatt(dolgozok))
            {
                Console.WriteLine(item);
            }          
            Console.WriteLine();
            Console.WriteLine("13.feladat");
            Console.WriteLine();
            string legidosebb, legfiatalabb;
            legidosebbEsLegfiatalabbSzemely(dolgozok, out legidosebb, out legfiatalabb);
            Console.WriteLine($"Utolsó legidősebb: {legidosebb}, utolsó legfiatalabb: {legfiatalabb}");
            Console.WriteLine();
            Console.WriteLine("14.feladat");
            Console.WriteLine();
            Console.WriteLine("Kész");
            Console.WriteLine();
            Console.WriteLine("15.feladat Fájlba írás");
            Console.WriteLine();
            using (var sw = new StreamWriter(@"../../src/otmillio.txt"))
            {
                foreach (var item in FajlbaIras(dolgozok))
                {
                    sw.WriteLine(item);
                }
            }
            Console.WriteLine("Kész.");
            Console.WriteLine();
            Console.WriteLine("16.feladat");
            Console.WriteLine();
            Console.WriteLine($"Az átlag havi fizetés: {atlag(dolgozok)} Euró.");
            //Készíts a főprogramban egy olyan listát, amiben csak a developer beosztásúak találhatók, minden tulajdonságukkal. Hívd meg újra a főprogramból az előző függvényt, de most ez az új lista legyen a paramétere. A főprogram írja ki a developerek átlagfizetését.

            Console.WriteLine();
            Console.WriteLine("17.feladat");
            Console.WriteLine();
            var developerLista = new List<Dolgozok>();  
            for (int i = 0; i < dolgozok.Count; i++)
            {
                if (dolgozok[i].Pozicio == "Developer")
                {
                    developerLista.Add(dolgozok[i]);
                }
            }
            Console.WriteLine($"A developerek átlagfizetése: {atlag(developerLista)} Euró");
            Console.WriteLine();
            Console.WriteLine("18.feladat");
            Console.WriteLine();
            //Számold ki a férfi és női alkalmazottak átlagfizetését tetszőleges módszerrel.
            var FerfiAtlag = new List<Dolgozok>();
            var NoiAtlag = new List<Dolgozok>();
            for (int i = 0; i < dolgozok.Count; i++)
            {
                if (dolgozok[i].Nem == "Male")
                {
                    FerfiAtlag.Add(dolgozok[i]);
                }
                else if (dolgozok[i].Nem == "Female")
                {
                    NoiAtlag.Add(dolgozok[i]);
                }
            }
            Console.WriteLine($"A férfiak átlagfizetése: {atlag(FerfiAtlag)} Euró");
            Console.WriteLine();
            Console.WriteLine($"A nők átlagfizetése: {atlag(NoiAtlag)} Euró");
            Console.ReadLine();
        }
    }
}



John;25;Budapest;IT;Engineer;Male;Single;1200

Alice;30;Debrecen;Marketing;Manager;Female;Married;900

Bob;22;Szeged;HR;Assistant;Male;Single;650

Eva;28;Budapest;Finance;Analyst;Female;Married;1100

Michael;35;Pécs;Sales;Representative;Male;Single;800

Sophia;29;Budapest;IT;Developer;Female;Married;1350

David;40;Szeged;Finance;Manager;Male;Married;1600

Sarah;27;Debrecen;IT;Designer;Female;Single;950

Daniel;32;Szeged;HR;Manager;Male;Single;1400

Emma;31;Pécs;Marketing;Coordinator;Female;Married;720

Matthew;34;Budapest;IT;Team Lead;Male;Single;1450

Olivia;26;Szeged;Sales;Representative;Female;Single;710

William;38;Budapest;Finance;Analyst;Male;Married;1150

Ava;23;Debrecen;IT;Developer;Female;Single;1300

James;29;Budapest;Marketing;Manager;Male;Single;950

Mia;33;Pécs;HR;Assistant;Female;Married;660

Benjamin;24;Szeged;Finance;Analyst;Male;Single;1120

Charlotte;36;Budapest;Sales;Representative;Female;Married;720

Logan;30;Debrecen;IT;Engineer;Male;Single;1150

Luna;28;Szeged;Finance;Manager;Female;Single;1400

Ethan;26;Pécs;IT;Designer;Male;Single;990

Harper;35;Budapest;Marketing;Coordinator;Female;Married;810

Liam;22;Budapest;IT;Developer;Male;Single;1250

Aria;31;Szeged;Finance;Analyst;Female;Married;930

Noah;37;Pécs;Sales;Representative;Male;Single;720

Grace;29;Budapest;IT;Team Lead;Female;Married;1520

Oliver;28;Debrecen;Marketing;Manager;Male;Single;1120

2024.04.25. Időjárás app

 Feladat: Időjárás app - OOP módszerekkel, haladóknak adatkötéssel Az alkalmazás célja, hogy a felhasználók hozzáadjanak és eltávolítsanak v...