2021.04.22. Kalkulátor

 Kalkulátor

- házi feladat befejezni

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

            //A hibás adatbevitelekre írj ki hibaüzenetet.

            //1. Feladat:

            //Jelenítsd meg a következőket a képernyőn!

            //1. Összeadás (a+b)

            //2. Kivonás (a-b)

            //3. Szorzás (a*b)

            //4. Osztás (a/b)

            //Ezek után kérj be két valós számot, majd a fentiekből

            //kiválasztott menüpont sorszámát.

            //A három bekért adat alapján végezd el a műveletet, és írd ki az eredményét.


            //2. feladat:

            //1. Logikai kalkulátor:

            //A program kérjen be két logikai értéket, (igaz/hamis formában),

            //és egy logikai művelet megnevezését (és, vagy, tagadás formában).

            //A program határozza meg az eredményt, és igaz/hamis formában írja ki.


            //2. Szorgalmi: A többágú szelekció előtt írd ki a mondat elejét, a szelekcióban a közepét,

            //majd a szelekció után a végét.


            //3. Feladat: Alakíts át úgy az első feladatot, hogy ne a menüpont sorszámát kérje a program,

            //hanem egy betűt a menüpontból. Ezt a betűt a menü kiírásakor

            //írd más színnel, mint a többit.


2021.04.21. Energetikai korszerűsítés

Házi feladat az első feladatot befejezni és az adatgyűjtést megcsinálni. A kigyűjtött adatokat tedd be a programkódba.  

//Energetikai korszerűsítés

 

            //(A feladat egy egyszerűsített modell, a munkadíjak, napok száma nem a valóságon alapul :)

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


T.Kristóf megoldása:

using System
namespace energia 
    class Program 
    { 
        public struct vallalkozo 
        { 
            public string nev
            public int munkadij
            public int alkalmazottak
            public int nap
        } 
        public struct napelem 
        {  
            public string tipus
            public double teljesitmeny
            public string meret
            public double sulya
            public int nettoara
        } 
        static void Main(string[] args
        { 
            //Energetikai korszerűsítés 
            const string nevem = "Toth Kristof";
            string minden = "Energetikai korszerűsítés -"
            string mind = minden + nevem
            Console.Title=mind;
            
            //(A feladat egy egyszerűsített modell, a munkadíjak, napok száma nem a valóságon alapul :) 
            //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 
            
            Console.BackgroundColor = ConsoleColor.Black
            Console.ForegroundColor = ConsoleColor.White
            Console.Clear(); 
            Console.WriteLine("{0}",mind); 
            //É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.) 

            vallalkozo val1 = new vallalkozo(); 
            val1.nev = "Michael"
            val1.munkadij = 50000; 
            val1.alkalmazottak = 0; 
            val1.nap = 6; 

            vallalkozo val2 = new vallalkozo(); 
            val2.nev = "Roger"
            val2.munkadij = 150000; 
            val2.alkalmazottak = 3; 
            val2.nap = 3; 

            vallalkozo val3 = new vallalkozo(); 
            val3.nev = "Joe"
            val3.munkadij = 250000; 
            val3.alkalmazottak = 5; 
            val3.nap = 2; 

            vallalkozo val4 = new vallalkozo(); 
            val4.nev = "Jack"
            val4.munkadij = 300000; 
            val4.alkalmazottak = 6; 
            val4.nap = 1; 

            Console.WriteLine("Vallalkozok"); 
            Console.WriteLine("\nAlvállalkozó neve    munkadíj  alkalmazottak száma   napok száma"); 
            Console.WriteLine("\n{0,-18}{1,9}Ft{2,20}{3,11}",val1.nev,val1.munkadij,val1.alkalmazottak,val1.nap); 
            Console.WriteLine("\n{0,-18}{1,9}Ft{2,20}{3,11}"val2.nevval2.munkadijval2.alkalmazottakval2.nap); 
            Console.WriteLine("\n{0,-18}{1,9}Ft{2,20}{3,11}"val3.nevval3.munkadijval3.alkalmazottakval3.nap); 
            Console.WriteLine("\n{0,-18}{1,9}Ft{2,20}{3,11}"val4.nevval4.munkadijval4.alkalmazottakval4.nap); 
            Console.WriteLine("\n Kivel akarja elvegezni a munkat ? "); 
            string munkavegzes = Console.ReadLine(); 
            //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. 
            int munkadij = 0; 
            switch (munkavegzes
            { 
                case "Michael"
                    Console.WriteLine("A munka ennyi ido alatt lesz kesz {0} nap, es ennyien fognak dolgozni a teton {1} ",val1.nap,val1.alkalmazottak); 
                    munkadij = val1.munkadij
                    break
                case "Roger"
                    Console.WriteLine("A munka ennyi ido alatt lesz kesz {0} nap, es ennyien fognak dolgozni a teton {1} "val2.napval2.alkalmazottak); 
                    munkadij = val2.munkadij
                    break
                case "Joe"
                    Console.WriteLine("A munka ennyi ido alatt lesz kesz {0} nap, es ennyien fognak dolgozni a teton {1} "val3.napval3.alkalmazottak); 
                    munkadij = val3.munkadij
                    break
                case "Jack"
                    Console.WriteLine("A munka ennyi ido alatt lesz kesz {0} nap, es ennyien fognak dolgozni a teton {1} "val4.napval4.alkalmazottak); 
                    munkadij = val4.munkadij
                    break
                default
                    Console.WriteLine("4 lehetoseg all rendelkezesre jelenleg."); 
                    break
            } 
            //2. 
            Console.Clear(); 
            //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 
            napelem napelem1 = new napelem(); 
            napelem1.tipus = "MGW - 30"
            napelem1.teljesitmeny = 30; 
            napelem1.meret = "545*415*28"
            napelem1.sulya = 3.9; 
            napelem1.nettoara = 14125; 

            napelem napelem2 = new napelem(); 
            napelem2.tipus = "CS3K-300P 300W "
            napelem2.teljesitmeny = 50; 
            napelem2.meret = "1675*992*35"
            napelem2.sulya = 18.5; 
            napelem2.nettoara = 43125; 

            napelem napelem3 = new napelem(); 
            napelem3.tipus = "315W CS6X-315P "
            napelem3.teljesitmeny = 60; 
            napelem3.meret = "1954*982*40" ; 
            napelem3.sulya = 22; 
            napelem3.nettoara = 83125; 
            
            //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. 
            Console.WriteLine("Napelem modul bolt."); 
            Console.WriteLine("\nTipus                  Teljesitmeny        Meret        Suly        Nettoar"); 
            Console.WriteLine("\n(1,-10){0,-3}{1,3}{2,10}mm{3,16}kg{4,20}Ft",napelem1.tipus,napelem1.teljesitmeny,napelem1.meret,napelem1.sulya,napelem1.nettoara); 
            Console.WriteLine("\n(2,-10){0,-3}{1,3}{2,10}mm{3,16}kg{4,20}Ft"napelem2.tipusnapelem2.teljesitmenynapelem2.meretnapelem2.sulyanapelem2.nettoara); 
            Console.WriteLine("\n(3,-10){0,-3}{1,3}{2,10}mm{3,16}kg{4,20}Ft"napelem3.tipusnapelem3.teljesitmenynapelem3.meretnapelem3.sulyanapelem3.nettoara); 
            //Konstansként vedd fel az áfát: 27%        
            const double afa = 27; 
            //Kérdezd meg a felhasználót, hogy melyik modult választja. 
            Console.WriteLine(); 
            Console.WriteLine("\nMelyik modult valasztja ? (1,2,3)"); 
            int valasztas = Convert.ToInt32(Console.ReadLine()); 
            double anyagkoltseg = 0; 
            switch (valasztas
            { 
                case 1: 
                    Console.WriteLine("A modul ara afaval egyutt --> {0}Ft"napelem1.nettoara + (napelem1.nettoara * afa/100)); 
                    anyagkoltseg = napelem1.nettoara + (napelem3.nettoara * afa / 100); 
                    break
                case 2: 
                    Console.WriteLine("A modul ara afaval egyutt --> {0}Ft"napelem2.nettoara + (napelem2.nettoara * afa/100)); 
                    anyagkoltseg = napelem2.nettoara + (napelem3.nettoara * afa / 100); 
                    break
                case 3: 
                    Console.WriteLine("A modul ara afaval egyutt --> {0}Ft"napelem3.nettoara + (napelem3.nettoara * afa/100)); 
                    anyagkoltseg = napelem3.nettoara + (napelem3.nettoara * afa / 100); 
                    break
                default
                    Console.WriteLine("3 lehetoseg lehetseges jelenleg."); 
                    break
            } 
            //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. 
            Console.WriteLine("\nOsszesen {0}Ft",munkadij+(anyagkoltseg*12)); 
            Console.WriteLine("\nViszlat"); 
            Console.ReadLine(); 
        } 
    } 

2021.04.16.,19 Okostelefonok

//Okostelefonok - Házi feladat. később órai munka

//Ahol érdemes, használj a megoldás során többágú szelekciót!

//Ha ez nem megy, akkor megoldhatod kétágú szelekciókkal is.

 

//Okostelefonok eladásához azt a modult kell megírnod,

//ami a mindenkori 3 akciós készülék vásárlására ad lehetőséget.

 

//Feladat:

//Tárold struktúrákban a 3 telefon márkáját és típusát (egy stringként),

//az árát, és a hozzá tartozó kedvezmény mértékét (pl. 5 - ez 5 %-ot jelent).

//Írd ki ezeket az adatokat a képernyőre, egy telefon adatait egy sorszámozott sorba.

//Kérdezd meg a usert, hogy melyik telefont választja. Csak egy számot kelljen beütnie.

//Írd ki a választásától függően a képernyőre a telefon akciós árát. Ha valótlan

//számot ütött be a user, írj ki hibaüzenetet.

 

//Ezután kérdezd meg a usert, hogy törzsvásárló-e. <Törzsvásárló / nem törzsvásárló> formában kérd ezt be.

//Ha törzsvásárló, és a telefon nem akciós értéke 50.000,- Ft fölött van,

//írd ki neki, hogy a törzsvásárlói kártyáján 100 pontot fogsz jóváírni

//(vagyis ennyi pontot fog kapni). Ha ez a feltétel nem igaz, akkor írd ki,

//hogy 100 pontot kapott volna, ha lenne törzsvásárlói kártyája.

 

//Ezután kérdezd meg, hogy ezeket a feltételeket elfogadja-e (true/false lehet a válasz).

// Ha igen, kérd be a nevét, és a címét egy-egy változóba.

// Ha nem, akkor nincs teendő.

//Írj ki egy búcsúzó üzenetet, melyben a nevén nevezed a usert, ha tudod a nevét,

//és kiírod, hogy milyen címre postázod a telefont. Ha nem tudod a nevét,

//akkor csak ennyit: „Viszontlátásra!”


using System;
namespace orai0416_2
{
    class Program
    {
        public struct telo
        {
            public string marka;
            public int ar;
            public int kedvezmeny;
        }
        static void Main(string[] args)
        {
            telo telo1 = new telo();
            telo1.marka = "iPhone X";
            telo1.ar = 200000;
            telo1.kedvezmeny = 5;

            telo telo2 = new telo();
            telo2.marka = "Samsung Galaxy S21 Ultra 5G";
            telo2.ar = 549990;
            telo2.kedvezmeny = 10;

            telo telo3 = new telo();
            telo3.marka = "Xiaomi Mi 11 5G";
            telo3.ar = 259000;
            telo3.kedvezmeny = 15;

            Console.WriteLine("1. telefon");
            Console.WriteLine($"Márka:{telo1.marka}");
            Console.WriteLine($"Ár:{telo1.ar}Ft");
            Console.WriteLine($"Kedvezmény:{telo1.kedvezmeny}");
            Console.WriteLine();
            Console.WriteLine("2. telefon");
            Console.WriteLine($"Márka:{telo2.marka}");
            Console.WriteLine($"Ár:{telo2.ar}Ft");
            Console.WriteLine($"Kedvezmény:{telo2.kedvezmeny}");
            Console.WriteLine();
            Console.WriteLine("3. telefon");
            Console.WriteLine($"Márka:{telo3.marka}");
            Console.WriteLine($"Ár:{telo3.ar}Ft");
            Console.WriteLine($"Kedvezmény:{telo3.kedvezmeny}");
            Console.WriteLine();
            Console.Write("Melyik telefont szeretné megvásárolni?(1,2,3): ");
            int valasztas = Convert.ToInt32(Console.ReadLine());
            double kedvezmenyar = 0;
            string mobtelo = String.Empty;
            double teloAr = 0;
            switch (valasztas)
            {
                case 1:
                    kedvezmenyar = telo1.ar - (telo1.ar * (telo1.kedvezmeny / 100));
                    mobtelo = telo1.marka;
                    teloAr = telo1.ar;
                    break;
                case 2:
                    kedvezmenyar = telo2.ar - (telo2.ar * (telo2.kedvezmeny / 100));
                    mobtelo = telo2.marka;
                    teloAr = telo2.ar;
                    break;
                case 3:
                    kedvezmenyar = telo3.ar - (telo3.ar * (telo3.kedvezmeny / 100));
                    mobtelo = telo3.marka;
                    teloAr = telo3.ar;
                    break;
                default:
                    Console.WriteLine("Hiba!");
                    break;
            }
            if (valasztas == 1 || valasztas == 2 || valasztas == 3)
            {
                Console.WriteLine("\nA mobiltelefon neve: {0}"mobtelo);
                Console.WriteLine("\nA telefon ara akciosan: {0} FT"kedvezmenyar);
            }
            Console.Write("\n<Törzsvásárló / nem törzsvásárló> ");
            string torzs = Console.ReadLine();
            torzs = torzs.ToLower();
            switch (torzs)
            {
                case "törzsvásárló":
                    if (teloAr > 50000)
                    {
                        Console.WriteLine("\n100 pontot irtunk jóvá törzsvásárlói kártyáján.");
                    }
                    break;
                case "nem törzsvásárló":
                    Console.WriteLine("\n100 pontot irtunk volna jóvá, ha lenne törzsvásárlói kártyája.");
                    break;
                default:
                    Console.WriteLine("Valamit elgepelt probalja ujra!");
                    break;
            }
            Console.WriteLine("\nElfogadja a feltételeket? (true/false)");
            bool feltetel = Convert.ToBoolean(Console.ReadLine());
            switch (feltetel)
            {
                case true:
                    Console.Write("\nKérem a nevét:");
                    string nev = Console.ReadLine();
                    Console.Write("\nKérem a cimét:");
                    string cim = Console.ReadLine();
                    Console.WriteLine("\nKöszönjük a vásárlást! {0}"nev);
                    Console.WriteLine("\nerre a cimre postazzuk a telefont. {0}"cim);
                    break;
                case false:
                    Console.WriteLine("\nViszontlátásra!");
                    break;
            }
            Console.ReadLine();
        }
    }
}

2023.04.26. Javító feladatsor