2022. december 9., péntek

2022.12.09. Struktúra gyakorlás - Energetikai korszerűsítés

   //Energetikai korszerűsítés

            //(A feladat egy egyszerűsített modell, a munkadíjak, napok száma nem a valóságon alapul :) (Akár tervezhetnénk hozzá adatbázist is.)

            //A feladat megoldásában szelekcióból csak többágút használj.

            //Állítsd át a háttérszínt zöldre, a betűszínt kékre.

            //Az ablak címe legyen: Energetikai korszerűsítés - XY

            //ahol az XY a neved

            //Építési fővállalkozó vagy.

            //Joe, Jack, Roger és Michael az alvállalkozóid (akik a munkát elvégzik).

            //A feladatuk, hogy 12 modul napelemet felszereljenek egy vevő háztetőjére.

            //Feladatok:

            //1.

            //Adottak a következő adatok:           

            //Alvállalkozó neve         munkadíj   alkalmazottak száma     napok száma

            //Michael                50.000,- Ft            0                   6

            //Roger                 150.000,- Ft            3                   3

            //Joe                   250.000,- Ft            5                   2

            //Jack                  300.000,- Ft            6                   1

            //Ezeket az adatokat tárold struktúrákban a tanult módon.

            //Írd ki a képernyőre az adatokat.

            //Kérdezd meg a megrendelőt, hogy kivel akarja elvégeztetni

            //a napelemek tetőre való felszerelését! (A nevet kérd be.)

            //A választástól függően írd ki a képernyőre,

            //hogy mennyi idő alatt lesz kész a munka,

            //és hogy hányan fognak dolgozni a tetőn.

            //2.

            //Ki kell választani a napelem modulokat is.

            //Tárold a következő mezőket struktúrában (ugyanúgy a program osztályban):

            //típusa

            //teljesítménye

            //mérete

            //súlya

            //nettó ára

            //Példányosíts három fajta napelem modult.

            //Az elsőhöz ezek legyenek az adatok:

            //típusa: MGW-30

            //teljesítménye: 30 Wp (Wattpeak, a napelem csúcsteljesítménye)

            //mérete: 545*415*28 mm

            //súlya: 3,9 kg

            //nettó ára: 14.125,- ft

            //A másik kettőhöz keress valós adatokat az interneten.

            //Keresőkifejezés: MGW-30 napelem vásárlás

            //(Nettó árakat rögzíts.)

            //Írd ki ezeket az adatokat a képernyőre.

            //Konstansként vedd fel az áfát: 27%       

            //Kérdezd meg a felhasználót, hogy melyik modult választja.

            //A választásától függően írd ki neki egy modul áfás árát.

            //3.

            //Az eddigi kód kiegészítésével oldd meg,

            //hogy ki tudd számolni a teljes költséget,

            //amit munkadíjként és anyagköltségként a vevő kifizet.

            //Írd ki a teljes költséget, és köszönj el.

Levi megoldása:

using System;

 

namespace Orai20221209

{

    class Program

    {

 

        public struct vallalkozo

        {

            public string neve;

            public int munkadij;

            public int alkalmazottakSzama;

            public int napokSzama;

        }

 

        public struct napelem

        {

            public string tipus;

            public int teljesitmeny; // Wp

            public int merete; // mm

            public double sulya; // kg

            public int nettoAr; // Ft

        }

 

        static void Main(string[] args)

        {

            vallalkozo v1 = new vallalkozo();

            v1.neve = "Michael";

            v1.munkadij = 50000;

            v1.alkalmazottakSzama = 0;

            v1.napokSzama = 6;

 

            vallalkozo v2 = new vallalkozo();

            v2.neve = "Roger";

            v2.munkadij = 150000;

            v2.alkalmazottakSzama = 3;

            v2.napokSzama = 3;

 

            vallalkozo v3 = new vallalkozo();

            v3.neve = "Joe";

            v3.munkadij = 250000;

            v3.alkalmazottakSzama = 5;

            v3.napokSzama = 2;

 

            vallalkozo v4 = new vallalkozo();

            v4.neve = "Jack";

            v4.munkadij = 300000;

            v4.alkalmazottakSzama = 6;

            v4.napokSzama = 1;

 

ITT EGY KICSIT PONTATLANOK A KIÍRÁSOK.          

 Console.Write("Kivel akarod elvégeztetni a munkát? (Michael, Roger, Joe, Jack) ");

            string vallalkozoNeve = Console.ReadLine();

 

            int munkadij = 0;

            switch (vallalkozoNeve.ToUpper())

            {

                case "MICHAEL":

                    Console.WriteLine($"Alvállalkozó neve: {v1.neve} \n" +

                        $"Munkadíja: {v1.munkadij} \n" +

                        $"Ennyien fognak dolgozni a tetődön: {v1.alkalmazottakSzama}\n" +

                        $"Ennyi idő alatt lesz meg a munka: {v1.napokSzama}");

                    munkadij = v1.munkadij;

                    break;

                case "ROGER":

                    Console.WriteLine($"Alvállalkozó neve: {v2.neve} \n" +

                        $"Munkadíja: {v2.munkadij} \n" +

                        $"Ennyien fognak dolgozni a tetődön: {v2.alkalmazottakSzama} \n" +

                        $"Ennyi idő alatt lesz meg a munka: {v2.napokSzama}");

                    munkadij = v2.munkadij;

                    break;

                case "JOE":

                    Console.WriteLine($"Alvállalkozó neve: {v3.neve} \n" +

                        $"Munkadíja: {v3.munkadij} \n" +

                        $"Ennyien fognak dolgozni a tetődön: {v3.alkalmazottakSzama}\n" +

                        $"Ennyi idő alatt lesz meg a munka: {v3.napokSzama}");

                    munkadij = v3.munkadij;

                    break;

                case "JACK":

                    Console.WriteLine($"Alvállalkozó neve: {v4.neve} \n" +

                        $"Munkadíja: {v4.munkadij} \n" +

                        $"Ennyien fognak dolgozni a tetődön: {v4.alkalmazottakSzama}\n" +

                        $"Ennyi idő alatt lesz meg a munka: {v4.napokSzama}");

                    munkadij = v4.munkadij;

                    break;

                default:

                    Console.WriteLine("Nincs ilyen alvállalkozónk!");

                    break;

            }

 

            napelem n1 = new napelem();

            n1.tipus = "MGW-30";

            n1.teljesitmeny = 30;

            n1.merete = 545 * 415 * 28;

            n1.sulya = 3.9;

            n1.nettoAr = 14125;

 

            napelem n2 = new napelem();

            n2.tipus = "MWG 30W-12V";

            n2.teljesitmeny = 30;

            n2.merete = 680 * 353 * 28;

            n2.sulya = 3.4;

            n2.nettoAr = 16789;

 

            napelem n3 = new napelem();

            n3.tipus = "MWG 50W-12V";

            n3.teljesitmeny = 50;

            n3.merete = 668 * 620 * 30;

            n3.sulya = 5.1;

            n3.nettoAr = 22802;

 

            const int AFA = 27;

            Console.Write("Melyik napelem modult választja? (MGW-30 (1), MWG 30W-12V (2), MWG 350W-12V (3) ): ");

            int modulSzam = Convert.ToInt32(Console.ReadLine());

 

            string modulNeve = String.Empty;

            int modulAfasAra = 0;

            switch (modulSzam)

            {

                case 1:

                    modulNeve = n1.tipus;

                    modulAfasAra = (n1.nettoAr / 100) * AFA + n1.nettoAr;

                    break;

                case 2:

                    modulNeve = n2.tipus;

                    modulAfasAra = (n2.nettoAr / 100) * AFA + n2.nettoAr;

                    break;

                case 3:

                    modulNeve = n3.tipus;

                    modulAfasAra = (n3.nettoAr / 100) * AFA + n3.nettoAr;

                    break;

                default:

                    break;

            }

            Console.WriteLine($"{modulNeve} áfás ára: {modulAfasAra}");

            Console.WriteLine($"Teljes költség amit ki kell fizetni: {modulAfasAra + munkadij}Ft");

        }

    }

}


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...