namespace Feladat03_Csomagautomata { internal class Program { static void Main(string[] args) { const double MAX_TOMEG = 20.0; // kg, ennél nehezebb csomagot nem fogad az automata const double SULYHATAR = 5.0; // kg, efölött van súlyfelár const double KILO_FELAR = 250.0; // Ft / kg a súlyhatár felett Console.WriteLine("=== Csomagautomata – feladási kalkulátor ==="); Console.Write("A csomag hossza (cm): "); double hossz = double.Parse(Console.ReadLine()); Console.Write("A csomag szélessége (cm): "); double szelesseg = double.Parse(Console.ReadLine()); Console.Write("A csomag magassága (cm): "); double magassag = double.Parse(Console.ReadLine()); Console.Write("A csomag tömege (kg): "); double tomeg = double.Parse(Console.ReadLine()); double leghosszabbOldal = Legnagyobb(hossz, szelesseg, magassag); double oldalOsszeg = hossz + szelesseg + magassag; double terfogatsuly = hossz * szelesseg * magassag / 5000.0; // Az elszámolt súly a tényleges tömeg és a térfogatsúly közül a nagyobbik. double elszamoltSuly = tomeg; if (terfogatsuly > elszamoltSuly) { elszamoltSuly = terfogatsuly; } Console.WriteLine(); Console.WriteLine($"Leghosszabb oldal: {leghosszabbOldal:F1} cm"); Console.WriteLine($"Oldalak összege: {oldalOsszeg:F1} cm"); Console.WriteLine($"Térfogatsúly: {terfogatsuly:F2} kg"); Console.WriteLine($"Elszámolt súly: {elszamoltSuly:F2} kg"); string meret = Dobozmeret(leghosszabbOldal, oldalOsszeg); if (elszamoltSuly > MAX_TOMEG) { Console.WriteLine($"A csomag nem adható fel: az elszámolt súly meghaladja a {MAX_TOMEG} kg-ot."); } else if (meret == "-") { Console.WriteLine("A csomag nem adható fel: mérete egyik rekeszbe sem fér be."); } else { double alapdij = Alapdij(meret); double felar = 0; if (elszamoltSuly > SULYHATAR) { felar = (elszamoltSuly - SULYHATAR) * KILO_FELAR; } double fizetendo = alapdij + felar; Console.WriteLine($"Rekeszméret: {meret}"); Console.WriteLine($"Alapdíj: {alapdij:F2} Ft"); Console.WriteLine($"Súlyfelár: {felar:F2} Ft"); Console.WriteLine($"Fizetendő: {fizetendo:F2} Ft"); } } static double Legnagyobb(double a, double b, double c) { double legnagyobb = a; if (b > legnagyobb) { legnagyobb = b; } if (c > legnagyobb) { legnagyobb = c; } return legnagyobb; } static string Dobozmeret(double leghosszabbOldal, double oldalOsszeg) { string meret; if (leghosszabbOldal <= 25 && oldalOsszeg <= 50) { meret = "S"; } else if (leghosszabbOldal <= 40 && oldalOsszeg <= 80) { meret = "M"; } else if (leghosszabbOldal <= 60 && oldalOsszeg <= 120) { meret = "L"; } else { meret = "-"; } return meret; } static double Alapdij(string meret) { double dij; if (meret == "S") { dij = 1290.0; } else if (meret == "M") { dij = 1690.0; } else { dij = 2290.0; } return dij; } } }