using System;
namespace KamionokAlap
{
class Kamion
{
public string Marka { get; set; }
public string Tipus { get; set; }
public int Evjarat { get; set; }
public int Teljesitmeny { get; set; }
public double Uzemanyagfogyasztas { get; set; }
public int KmAllas { get; set; }
public Kamion(string sor)
{
string[] mezok = sor.Split(';');
Marka = mezok[0];
Tipus = mezok[1];
Evjarat = int.Parse(mezok[2]);
Teljesitmeny = int.Parse(mezok[3]);
Uzemanyagfogyasztas = double.Parse(mezok[4]);
KmAllas = int.Parse(mezok[5]);
}
public void Kiir()
{
Console.WriteLine($"Márka: {Marka}, Típus: {Tipus}, Évjárat: {Evjarat}, Teljesítmény: {Teljesitmeny} lóerő, Üzemanyagfogyasztás: {Uzemanyagfogyasztas} l/100km, Km-óra állás: {KmAllas}");
}
public override string ToString()
{
return $"Márka: {Marka}, Típus: {Tipus}, Évjárat: {Evjarat}, Teljesítmény: {Teljesitmeny} lóerő, Üzemanyagfogyasztás: {Uzemanyagfogyasztas} l/100km, Km-óra állás: {KmAllas}";
}
public double TeljesitmenyKW()
{
return Math.Round(Teljesitmeny * 0.7355,2);
}
}
}
using System;
using System.Collections.Generic;
using System.IO;
namespace KamionokAlap
{
class Program
{
static void Main(string[] args)
{
List<Kamion> kamionok = BeolvasKamionok(@"..\..\..\src\kamionok.txt");
Console.WriteLine("\nÖsszes kamion adatai:");
foreach (var kamion in kamionok)
{
Console.WriteLine(kamion);
}
Console.WriteLine($"\n1. Feladat: Átlagos évjárat: {AtlagosEvjarat(kamionok)}");
List<Kamion> manKamionok = new List<Kamion>();
Console.WriteLine($"\n2. Feladat: {ManKamionok(kamionok, manKamionok)} db MAN kamion van 2018 vagy újabb évjáratú.");
List<Kamion> legtobbfutott = LegtobbfutottKamion(kamionok);
Console.WriteLine("\n3. Feladat: Legtöbbet futott kamion(ok):");
foreach (var kamion in legtobbfutott)
{
Console.WriteLine(kamion);
}
//ebben a megoldásban az elsőt kapjuk meg
Kamion iveco = IvecoKamion(kamionok);
Console.WriteLine("\n4. Feladat: " + (iveco != null ? "Van" : "Nincs") + " olyan Iveco kamion, aminek a fogyasztása kevesebb, mint a legerősebb motorteljesítményű Mercedes modell fogyasztása.");
iveco.Kiir();
Console.WriteLine("\n5. Feladat: Üzemanyagfogyasztás 30 l alatt:");
List<Kamion> alacsonyFogyasztasuKamionok = AlacsonyFogyasztasuKamionok(kamionok);
foreach (var kamion in alacsonyFogyasztasuKamionok)
{
Console.WriteLine(kamion);
}
Kamion max;
Kamion min;
string eredmeny = LegerosebbLeggyengebbEgyezik(kamionok, out max, out min) ? "igen" : "nem";
Console.WriteLine($"\n6. Feladat: A legerősebb és leggyengébb kamionnak ugyanaz a gyártója? {eredmeny}");
Console.WriteLine($"Legerősebb kamion: {max}");
Console.WriteLine($"Leggyengébb kamion: {min}");
Console.WriteLine("\n7. Feladat: \nFájlba írás: Kamionok átszámolva kW-ra");
KiirKilowattba(kamionok, @"..\..\..\src\kamionok_kw.txt");
Console.ReadKey();
}
static List<Kamion> BeolvasKamionok(string file)
{
List<Kamion> kamionok = new List<Kamion>();
try
{
string[] sorok = File.ReadAllLines(file);
for (int i = 1; i < sorok.Length; i++)
{
kamionok.Add(new Kamion(sorok[i]));
}
}
catch (IOException e)
{
Console.WriteLine("Hiba a fájl olvasása közben: " + e.Message);
}
return kamionok;
}
static double AtlagosEvjarat(List<Kamion> kamionok)
{
double osszeg = 0;
foreach (var kamion in kamionok)
{
osszeg += kamion.Evjarat;
}
return Math.Round(osszeg / kamionok.Count);
}
static int ManKamionok(List<Kamion> k, List<Kamion> man)
{
foreach (var item in k)
{
if (item.Marka == "MAN" && item.Evjarat >= 2018)
{
man.Add(item);
}
}
return man.Count;
}
static List<Kamion> LegtobbfutottKamion(List<Kamion> kamionok)
{
Kamion max = kamionok[0];
List<Kamion> legtobbfutott = new List<Kamion>();
foreach (var kamion in kamionok)
{
if (kamion.KmAllas > max.KmAllas)
{
max = kamion;
}
}
foreach (var item in kamionok)
{
if (item.KmAllas == max.KmAllas)
{
legtobbfutott.Add(item);
}
}
return legtobbfutott;
}
static Kamion IvecoKamion(List<Kamion> kamionok)
{
Kamion maxTeljesitmenyuMercedes = kamionok[0];
foreach (var item in kamionok)
{
if (item.Marka =="Mercedes" && maxTeljesitmenyuMercedes.Teljesitmeny < item.Teljesitmeny)
{
maxTeljesitmenyuMercedes = item;
}
}
//teszt
//Console.WriteLine("maxTeljesitmenyuMercedes telj. mercedes");
//maxTeljesitmenyuMercedes.Kiir();
foreach (var item in kamionok)
{
if (item.Marka == "Iveco" && item.Uzemanyagfogyasztas < maxTeljesitmenyuMercedes.Uzemanyagfogyasztas)
{
return item;
}
}
return null;
}
static List<Kamion> AlacsonyFogyasztasuKamionok(List<Kamion> kamionok)
{
List<Kamion> alacsonyFogyasztasu = new List<Kamion>();
foreach (var kamion in kamionok)
{
if (kamion.Uzemanyagfogyasztas < 30)
{
alacsonyFogyasztasu.Add(kamion);
}
}
return alacsonyFogyasztasu;
}
static bool LegerosebbLeggyengebbEgyezik(List<Kamion> kamionok, out Kamion kamionMax, out Kamion kamionMin)
{
kamionMax = kamionok[0];
kamionMin = kamionok[0];
foreach (var kamion in kamionok)
{
if (kamion.Teljesitmeny > kamionMax.Teljesitmeny)
{
kamionMax = kamion;
}
if (kamion.Teljesitmeny < kamionMin.Teljesitmeny)
{
kamionMin = kamion;
}
}
return kamionMax.Marka == kamionMin.Marka;
}
static void KiirKilowattba(List<Kamion> kamionok, string fajlnev)
{
using StreamWriter writer = new StreamWriter(fajlnev);
foreach (var kamion in kamionok)
{
writer.WriteLine($"Márka: {kamion.Marka}, Típus: {kamion.Tipus}, Évjárat: {kamion.Evjarat}, Teljesítmény: {kamion.TeljesitmenyKW()} kW, Üzemanyagfogyasztás: {kamion.Uzemanyagfogyasztas} l/100km, Km-óra állás: {kamion.KmAllas}");
}
}
}
}
Nincsenek megjegyzések:
Megjegyzés küldése