2022. december 9., péntek

2022.12.09. Programozás/2 - Struktúra: Ford márkakereskedés továbbfejlesztés

 Továbbfejlesztés:

Oldjuk meg, hogy az autók árait struktúrában tároljuk.

Új anyag:

namespace strukturaBevezetes
{
    class Program
    {
        public struct auto
        {
            public int ar; //ft
            public int motor; //cm3
            public int szemely; //fő
            public int teljesitmeny; //lóerő
        }
        static void Main(string[] args)
        {
            auto auto1 = new auto();
            auto1.ar = 6000000;
            auto1.motor = 1600;
            auto1.szemely = 5;
            auto1.teljesitmeny = 150;
        }
    }
}
--------------------------------------------------
Magyarázat:
A struktúrát a Main fölött, a program osztályban definiáljuk.
public: módosítószó, ami befolyásolja az adott elem láthatóságát, pl. hogy mennyire 
legyen nyilvános. A public azt jelenti, hogy mindenhol látható.
 (A private pl. rejtettet jelent majd.)
struct: a struktúra adatszerkezet kulcsszava.
 A struktúra a procedurális nyelvekben (pl. Pascal) a rekordnak felel meg. 
Ebben összefogunk egy szerkezetbe összetartozó adatokat. 
A struktúra a definiálásakor (lásd a Main felett) még csak egy váz, egy üres szerkezet,
 ami megmutatja, milyen adatokat fogunk tárolni a példányosításkor.
auto: a struktúra neve
public int ar;: adattag, más néven mező a struktúrában. Olyan, mint egy változó,
 de ez a struktúra törzsében van, és gyakran nem adunk neki kezdőértéket.
auto auto1 = new auto();  Itt definiálunk egy auto típusú változót auto1 néven,
 és a new kulcsszóval helyet foglalunk neki a memóriában az auto() konstruktor
 segítségével. Ezt hívjuk példányosításnak (létrehozunk egy példányt).
auto1.ar = 6000000;  Az auto1 változón belül elérjük az ar mezőt (adattagot),
 ennek értékül adjuk a jobb oldalon levő értéket.
--------------------------------------------------
A struktúra nélkül, hagyományosan, változókkal megoldott teljes feladat:

using System;

namespace auto
{
    class Program
    {
        static void Main(string[] args)
        {
            //Többágú szelekció gyakorlása
            //A feladat megoldásában szelekcióból csak többágút használj.
            //A hibás adatbevitelekre írj ki hibaüzenetet.
            //Ford márkakereskedő vagy. Jön a vevő, és érdeklődik a készleten levő autók iránt.
            //A feladat megoldásában szelekcióból csak többágút használj.
            //A hibás adatbevitelekre írj ki hibaüzenetet.
            //Ford márkakereskedő vagy. Jön a vevő, és érdeklődik a készleten levő autók iránt.
            //Feladat:
            //-Kérdezd meg tőle, hogy milyen típus érdekli (legalább 3 típus van készleten).
            double MustangAra = 13020000;
            int MustangMotor = 5000;
            int MustangSzemelyek = 2;
            int MustangTeljesitmeny = 4000;

            double MondeoAra = 10020000;
            int MondeoMotor = 4000;
            int MondeoSzemelyek = 5;
            int MondeoTeljesitmeny = 3000;

            double BMaxAra = 12020000;
            int BMaxMotor = 3000;
            int BMaxSzemelyek = 4;
            int BMaxTeljesitmeny = 2000;

            Console.WriteLine("Ford Mondeo");
            Console.WriteLine("ár: {0}", MondeoAra);
            Console.WriteLine("motor: {0}", MondeoMotor);
            Console.WriteLine("személyek: {0}", MondeoSzemelyek);
            Console.WriteLine("teljesítmény: {0}", MondeoTeljesitmeny);
            Console.WriteLine("--------------------------------------------");
            Console.WriteLine("Ford Bmax");
            Console.WriteLine("ár: {0}", BMaxAra);
            Console.WriteLine("motor: {0}", BMaxMotor);
            Console.WriteLine("személyek: {0}", BMaxSzemelyek);
            Console.WriteLine("teljesítmény: {0}", BMaxTeljesitmeny);
            Console.WriteLine("--------------------------------------------");
            Console.WriteLine("Ford Mustang");
            Console.WriteLine("ár: {0}", MustangAra);
            Console.WriteLine("motor: {0}", MustangMotor);
            Console.WriteLine("személyek: {0}", MustangSzemelyek);
            Console.WriteLine("teljesítmény: {0}", MustangTeljesitmeny);
            Console.WriteLine("--------------------------------------------");
            Console.WriteLine("Milyen autó érdekli? (Ford Mustang (1), Ford Mondeo (2), Ford B-Max (3))");
            int auto = Convert.ToInt32(Console.ReadLine());
            //-A típustól függően adj neki tájékoztatást az autó fontos paramétereiről
            //(pl. ár, motor térfogata, személyek száma, teljesítmény, stb.,).
            double ar = 0;
            switch (auto)
            {
                case 1:
                    Console.WriteLine("{0} Ft-tól, {1} cm3, {2} személyes, {3} lóerős.", MustangAra, MustangMotor, MustangSzemelyek, MustangTeljesitmeny);
                    ar = MustangAra;
                    break;
                case 2:
                    Console.WriteLine("{0} Ft-tól, {1} cm3, {2} személyes, {3} lóerős.", MondeoAra, MondeoMotor, MondeoSzemelyek, MondeoTeljesitmeny);
                    ar = MondeoAra;
                    break;
                case 3:
                    Console.WriteLine("{0} Ft-tól, {1} cm3, {2} személyes, {3} lóerős.", BMaxAra, BMaxMotor, BMaxSzemelyek, BMaxTeljesitmeny);
                    ar = BMaxAra;
                    break;
                default:
                    Console.WriteLine("Nem jó számot írtál be.");
                    break;
            }
            Console.ReadLine();
            //-Meggyőzted a vevőt, meg akarja venni azt a típusú autót, ami iránt érdeklődött - programban ehhez nem kapcsolódik feladat.
            //-Kérdezd meg tőle, milyen módon akar fizetni.
            //ha készpénzzel, akkor adj neki 5% kedvezményt,
            //ha azonnal átutalással, akkor adj neki 3% kedvezményt,
            //ha pedig hitelt vesz föl rá, akkor tegyél az árra 5% felárat.
            //-Ezek után írd ki a rá vonatkozó árat.
            Console.WriteLine("Átutalással (a), Készpénzzel (k) vagy hitellel (h) fizet?");
            char fizet = Convert.ToChar(Console.ReadLine());
            double vegsoAr = 0;
            switch (fizet)
            {
                case 'k':
                    vegsoAr = ar - ((ar / 100.0) * 5.0);
                    break;
                case 'a':
                    vegsoAr = ar - ((ar / 100.0) * 3.0);
                    break;
                case 'h':
                    vegsoAr = ar + ((ar / 100.0) * 5.0);
                    break;
                default:
                    Console.WriteLine("Nem jó betűt írtál be");
                    break;
            }
            if (vegsoAr != 0)
            {
                Console.WriteLine("Összesen {0} Ft-ba fog kerülni az autó.", vegsoAr);
            }


            //Továbbfejlesztés:
            //1. Oldjuk meg, hogy az autók árait konstansokban tároljuk.
            //2. Oldjuk meg, hogy az autók árait rekordban tároljuk.
        }
    }
}

 ------------------------------------------------------------------------------------------

A struktúrával megoldott teljes feladat:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace auto
{
    class Program
    {
        public struct auto
        {
            public double ar; //ft
            public int motorter; //cm3
            public int szemszam; //fő
            public int telj; //lóerő
        }
        static void Main(string[] args)
        {
            //A feladat megoldásában szelekcióból csak többágút használj.
            //A hibás adatbevitelekre írj ki hibaüzenetet.
            //Ford márkakereskedő vagy. Jön a vevő, és érdeklődik a készleten levő autók iránt.
            //Feladat:
            //-      Kérdezd meg tőle, hogy milyen típus érdekli (legalább 3 típus van készleten).
            //-      A típustól függően adj neki tájékoztatást az autó fontos paramétereiről
            //    (pl. ár, motor térfogata, személyek száma, teljesítmény, stb.,).
            //-      Meggyőzted a vevőt, meg akarja venni azt a típusú autót, ami iránt érdeklődött - programban ehhez nem kapcsolódik feladat.
            //-      Kérdezd meg tőle, milyen módon akar fizetni.
            //       ha készpénzzel, akkor adj neki 5% kedvezményt,
            //       ha azonnal átutalással, akkor adj neki 3% kedvezményt,
            //       ha pedig hitelt vesz föl rá, akkor tegyél az árra 5% felárat.
            //-      Ezek után írd ki a rá vonatkozó árat.
            //Továbbfejlesztés:
            //1. Oldjuk meg, hogy az autók árait konstansokban tároljuk.
            //2. Oldjuk meg, hogy az autók árait rekordban tároljuk.
            Console.WriteLine("Milyen típusú autó érdekli önt ? (Mustang, Mondeo, Fiesta");
            string tipus = Console.ReadLine();

            auto mustang = new auto();
            mustang.ar = 1127000;
            mustang.motorter = 5000;
            mustang.szemszam = 2;
            mustang.telj = 418;

            auto mondeo = new auto();
            mondeo.ar = 7750000;
            mondeo.motorter = 2500;
            mondeo.szemszam = 4;
            mondeo.telj = 250;

            auto fiesta = new auto();
            fiesta.ar = 5550000;
            fiesta.motorter = 1600;
            fiesta.szemszam = 4;
            fiesta.telj = 210;

            double ar = 0;

            switch (tipus)
            {
                case "Mustang":
                    Console.WriteLine("Mustang ára {0}", mustang.ar);
                    Console.WriteLine("Mustang motortérfogata {0} köbcenti ", mustang.motorter);
                    Console.WriteLine("Mustang személyek száma {0}", mustang.szemszam);
                    Console.WriteLine("Mustang teljesítménye {0}LE", mustang.telj);
                    ar = mustang.ar;
                    break;
                case "Mondeo":
                    Console.WriteLine(" Mondeo ára {0}", mondeo.ar);
                    Console.WriteLine(" Mondeo motortérfogata {0} köbcenti ", mondeo.motorter);
                    Console.WriteLine(" Mondeo személyek száma {0}", mondeo.szemszam);
                    Console.WriteLine(" Mondeo teljesítménye {0}LE", mondeo.telj);
                    ar = mondeo.ar;
                    break;
                case "Fiesta":
                    Console.WriteLine("Fiesta ára {0}", fiesta.ar);
                    Console.WriteLine("Fiesta motortérfogata {0} köbcenti ", fiesta.motorter);
                    Console.WriteLine("Fiesta személyek száma {0}", fiesta.szemszam);
                    Console.WriteLine("Fiesta teljesítménye {0}LE", fiesta.telj);
                    ar = fiesta.ar;
                    break;
                default:
                    Console.WriteLine("Rossz típust adtál meg.");
                    break;
            }
            Console.WriteLine("Milyen módon akar fizetni? (készpénz,átutalás,hitel) ");
            string valasz = Console.ReadLine();
            double aktar = 0;
            switch (valasz)
            {
                case "készpénz":
                    aktar = ar - (ar / 100.0 * 5.0);
                    Console.WriteLine("Készpénz fizetés esetén 5% kezdvezmény jár.");
                    break;
                case "átutalás":
                    aktar = ar - (ar / 100.0 * 3.0);
                    Console.WriteLine("Azonnali átutalás esetén 3% kezdvezmény jár.");
                    break;
                case "hitel":
                    aktar = ar + (ar / 100.0 * 5.0);
                    Console.WriteLine("Hitel felvétel esetén +5% felárat számítunk fel.");
                    break;
            }
            Console.WriteLine("Az aktuális ár {0}", aktar);
            Console.ReadLine();
        }
    }
}

2022. december 8., csütörtök

2022.12.09. Programozás/1- Ismétlés + a kiadott feladatok megoldása (Domino Day, stb.)

1. óra: Helyettesítés utáni ismétlés: többágú szelekció, egymásba ágyazott kétágú szelekció gyakorlása. Önállóan megoldott feladatok ellenőrzése.

A kiadott feladatok néhány lehetséges megoldását it találod:

Domino Day egy lehetséges megoldása
using System;
namespace DominoDay
{
    class Program
    {
        static void Main(string[] args)
        {
            const double dobozTerfogat = 50 * 10 * 80 * 10 * 40 * 10;
            const double elsoTerfogat = 50 * 30 * 6;
            const double elsoDarabDouble = dobozTerfogat * 15 / elsoTerfogat;
            const int elsoDarabInt = (int)elsoDarabDouble; //típuskényszerítés: arra "kényszerítjük",
            //hogy int legyen, ami azzal jár, hogy elveszítjük
            //a tizedes részt - itt éppen ez a cél, így kerekítünk
            //konstans értékadásánál ugyanis nem használhatjuk a Convert függvényt
            //ha nem konstans, akkor használhatjuk:
            int elsoDarabKonvertalva = Convert.ToInt32(elsoDarabDouble);
            /////////////////////////////////////////////////////////////////////////////
            const double masodikTerfogat = 40 * 25 * 5 ;
            const double masodikDarabDouble = dobozTerfogat * 15 / masodikTerfogat;
            const int masodikDarabInt = (int)masodikDarabDouble; //típuskényszerítés
            /////////////////////////////////////////////////////////////////////////////
            const double harmadikTerfogat = 70 * 35 * 8;
            const double harmadikDarabDouble = dobozTerfogat * 15 / harmadikTerfogat;
            const int harmadikDarabInt = (int)harmadikDarabDouble; //típuskényszerítés
            /////////////////////////////////////////////////////////////////////////////
            Console.WriteLine("Első domino: 50 * 30 * 6");
            Console.WriteLine("Második domino: 40 * 25 * 5");
            Console.WriteLine("Harmadik domino: 70 * 35 * 8");
            Console.Write("Melyik fajta dominó érkezett ma? (első/második/harmadik) ");
            string fajta = Console.ReadLine();
            if (fajta == "első")
            {
                Console.WriteLine("Ennyi dominó van a dobozban: {0}", elsoDarabInt); // egész számot kapunk, nincs kerekítve, csak levágtuk a tört részt
                //vagyis megkaptuk a szám egész részét
                Console.WriteLine("További számítások (nem a feladat része):");
                Console.WriteLine(elsoDarabDouble); //tört számot kapunk
                Console.WriteLine(elsoDarabKonvertalva); //egész számot kapunk, kerekítve
                Console.WriteLine("{0:0}", elsoDarabDouble); //csak megformáztuk a kiírást, kerekíti a számot egésszé
                Console.WriteLine("{0:0.000}", elsoDarabDouble); //csak megformáztuk a kiírást, kerekíti a számot 3 tizedesjegyre
            }
            else      
            {
                if (fajta == "második")
                {
                    Console.WriteLine("Ennyi dominó van a dobozban: {0}", masodikDarabInt);
                }
                else
                {
                    if (fajta == "harmadik")
                    {
                        Console.WriteLine("Ennyi dominó van a dobozban: {0}", harmadikDarabInt);
                    }
                    else
                    {
                        Console.WriteLine("Szövegértési, vagy szövegalkotási problémád van. Fordulj szakemberhez :)");
                    }
                }
            }
            Console.ReadLine();
        }
    }
}
Léggömbhámozás egy lehetséges megoldása
            Console.WriteLine("Mennyi léggömböt tudtál meghámozni 10 perc alatt?   ");
            int lufi = Convert.ToInt32(Console.ReadLine());
            if (lufi > 20)
                Console.WriteLine("Kiváló");
            else
            {
                if (lufi > 10)
                    Console.WriteLine("Közepes");
                else
                {
                    Console.WriteLine("Gyenge");
                    Console.WriteLine("\nMennyi pénzt áldozott a gép fejlesztésére?");
                    int penz = Convert.ToInt32(Console.ReadLine());
                    if (penz > 0 && penz <= 10000)
                        Console.WriteLine("Kevés");
                    else
                    {
                        if (penz < 20000)
                            Console.WriteLine("Pedig ez elég lett volna.");
                        else
                            Console.WriteLine("Teljesen fölösleges ennyi pénzt  erre elkölteni!");
                    }
                }
            }
Léggömbhámozás még egy lehetséges megoldása
            Console.Write("Kérem írja be, hány léggömböt hámoztak meg: ");
            int leggomb = Convert.ToInt32(Console.ReadLine());
            if (leggomb > 20)
                Console.WriteLine("Ez a mennyiség kiváló");
            else
                if (leggomb > 10)
                    Console.WriteLine("Ez a mennyiség közepes");
                else
                    if (leggomb <= 10)
                    {
                        Console.WriteLine("Ez a mennyiség gyenge");
                        Console.Write("Mennyi pénzt költött fejlesztésre? ");
                        int penz = Convert.ToInt32(Console.ReadLine());
                        if (penz <= 10000)
                            Console.WriteLine("Ez az összeg kevés rá");
                        else
                            if (penz <= 20000)
                                Console.WriteLine("Ennek az összegnek elég kell lennie");
                            else
                                if (penz > 20000)
                                    Console.WriteLine("Ez az összeg már felesleges");
                    }
                    else
                        Console.WriteLine("Hibás szám");
Fuvolaverseny egy lehetséges megoldása
Console.Title = "Megyei fuvolaverseny";
            Console.WriteLine("Fuvolavereny\n----------\n");
            //A megyei fuvolaversenyre jelentkeznek a versenyzők.
            //Az alapján rendezik a versenyzőket kategóriákba, hogy
            //hány évig tanultak zenét.
            //I. kategória: 2, vagy 3 évig tanult zenét
            //II. kategória: 4, vagy 5 évig tanult zenét
            //III. kategória: 6, vagy 7 évig tanult zenét
            //A fenti intervallumokat a tanult módon, egyszerű feltétellel add meg.
            //Feladat:
            //Kérd be, hány évig tanult a jelentkező zenét!
            Console.Write("A versenyző hány évig tanulta a zenét?:  ");
            int ev = Convert.ToInt32(Console.ReadLine());
            //Írd ki, melyik kategóriába tartozik!
            if (ev > 1 && ev < 4)
            {
                Console.WriteLine("A versenyző az I. csoportba tartozik!");
            }
            else
            {
                if (ev > 6)
                {
                    Console.WriteLine("A versenyző a II. csoportba tartozik!");
                }
                else
                {
                    if (ev > 8)
                    {
                        Console.WriteLine("A versenyző a III. csoportba tartozik!");
                    }
                }
            }
            //Kérd be, hány pontot kapott (0-60 között) a versenyen.
            Console.Write("A versenyző hány pontot kapott a versenyen?:  ");
            int pont = Convert.ToInt32(Console.ReadLine());
            //Ha 50 pont fölött kapott, írd ki, hogy továbbjutott
            //az országos versenyre.
            if (pont < 0 || pont > 60)
            {
                Console.WriteLine("Hibás pontszám!");
            }
            else
            {
                if (pont > 50)
                {
                    Console.WriteLine("A versenyző továbbjutott az országos versenyre!");
                    Console.Write("A versenyző kisérőtanárral utazik vagy szülővel? (kisérőtanár/szülő):  ");
                    string utazas = Console.ReadLine();
                    if (utazas == "szülő" || utazas == "kisérőtanár")
                    {
                        if (utazas == "szülő")
                        {
                            Console.Write("Kérem az egyik szülő telefonszámát:  ");
                            string teloszam = Console.ReadLine();
                        }
                        else
                        {
                            Console.Write("Kérem a kisérőtanár nevét:  ");
                            string kiserotanar = Console.ReadLine();
                        }
                    }
                    else
                    {
                        Console.WriteLine("Hibás bevitel!");
                    }
                }
                else
                {
                    Console.WriteLine("A versenyző NEM jutott tovább az országos versenyre! Sajnáljuk! :(");
                    Console.Write("Kérem az iskolája nevét és címét: ");
                    string iskolaelerhet = Console.ReadLine();
                }
            }
            //Egyébként pedig írd ki, hogy nem jutott tovább.
            //Ha továbbjutott, kérdezd meg, hogy a szüleivel utazik, vagy kísérőtanárral.
            //Ha a szüleivel utazik, kérd be az egyik szülő telefonszámát.
            //Ha kísérőtanárral utazik, kérdezd meg a tanára nevét.
            //Ha nem jutott tovább, akkor kérd be az iskolája nevét és címét
            //mert oda fogják küldeni a vigaszdíjat.
            //Ha ez kész, egészítsd ki a megoldást hibaellenőrzéssel.
            Console.ReadLine();
Fuvolaverseny még egy lehetséges megoldása
//A megyei fuvolaversenyre jelentkeznek a versenyzők.
            //Az alapján rendezik a versenyzőket kategóriákba, hogy
            //hány évig tanultak zenét.
            //I. kategória: 2, vagy 3 évig tanult zenét
            //II. kategória: 4, vagy 5 évig tanult zenét
            //III. kategória: 6, vagy 7 évig tanult zenét
            //A fenti intervallumokat a tanult módon, egyszerű feltétellel add meg.
            //Feladat:
            //Kérd be, hány évig tanult a jelentkező zenét!
            Console.Write("Hány évig tanult zenét? : ");
            int tanulev = Convert.ToInt32(Console.ReadLine());
            //Írd ki, melyik kategóriába tartozik!
            while (!(2 <= tanulev && tanulev <= 7))
            {
                Console.WriteLine("Rossz értéket adott meg!");
                Console.Write("Az érték újra: ");
                tanulev = Convert.ToInt32(Console.ReadLine());
            }
            if (tanulev == 2 || tanulev == 3)
            {
                Console.WriteLine("Az I. kategóriába tartozik");
            }
            else
                if (tanulev == 4 || tanulev == 5)
                {
                    Console.WriteLine("Az II. kategóriába tartozik");
                }
                else
                    if (tanulev == 6 || tanulev == 7)
                    {
                        Console.WriteLine("Az III. kategóriába tartozik");
                    }
            //Kérd be, hány pontot kapott (0-60 között) a versenyen.
            Console.Write("Hány pontot kapott a versenyen? : ");
            int pontok = Convert.ToInt32(Console.ReadLine());
            //Ha 50 pont fölött kapott, írd ki, hogy továbbjutott
            //az országos versenyre.
            //Egyébként pedig írd ki, hogy nem jutott tovább.
            while (!(0 <= pontok && pontok <= 60))
            {
                Console.WriteLine("Rossz értéket adott meg!");
                Console.Write("Az érték újra: ");
                pontok = Convert.ToInt32(Console.ReadLine());
            }
            if (50 < pontok)
            {
                Console.WriteLine("Továbbjutott");
                Console.WriteLine();
                Console.WriteLine("A kivel utazik? (szülők ; kísérőtanár)");
                string kivel = Console.ReadLine().ToLower();
                while (kivel != "szülők" || kivel != "kísérőtanár")
                {
                    Console.WriteLine("Rossz értéket adott meg!");
                    Console.Write("Az érték újra: ");
                    kivel = Console.ReadLine().ToLower();
                }
                if (kivel == "szülők")
                {
                    Console.Write("Kérem az egyik szülő telefonszámát: ");
                    string telszam = Console.ReadLine();
                }
                else
                {
                    Console.Write("Kérem a tanár nevét: ");
                    string tanarnev = Console.ReadLine();
                }
            }
            else
            {
                Console.WriteLine("Nem jutott tovább");
                Console.Write("Kérem az iskola nevét és címét: ");
                string iskola = Console.ReadLine();
            }
            Console.WriteLine("Viszlát!");
            //Ha továbbjutott, kérdezd meg, hogy a szüleivel utazik, vagy kísérőtanárral.
            //Ha a szüleivel utazik, kérd be az egyik szülő telefonszámát.
            //Ha kísérőtanárral utazik, kérdezd meg a tanára nevét.
            //Ha nem jutott tovább, akkor kérd be az iskolája nevét és címét
            //mert oda fogják küldeni a vigaszdíjat.
            //Ha ez kész, egészítsd ki a megoldást hibaellenőrzéssel.
            Console.ReadLine();
Túlsúly feladat egy lehetséges megoldása
            //            Írj programot, amely bekéri egy felnőtt férfi testmagasság(cm - ben) és testsúly(kg-ban) adatait. 
            //Ha a magasság 100 cm fölötti, akkor megvizsgálja, hogy túlsúlyos-e: ha a kg - ban mért súlya nagyobb, mint a cm - ben mért magasság 100 fölötti része, akkor kiírja: "Túlsúlyos, fogynia kell!". 
            //Ha a magasság 100, vagy az alatti érték, akkor írja ki a program, hogy "Gyerekekkel nem foglalkozom!" 
            double hundredValue = 100;
            //Pontosítsuk a feladatot: Ha 100 cm fölött van a magasság és nem túlsúlyos, akkor mit tegyünk? 
            Console.Write("Üdv a programban! Kérem adja meg a testmagasságát!(csak egy szám ami cm-ben értelmezendő)--> ");
            double bodyHeight = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine();
            if (hundredValue > bodyHeight)
            {
                Console.WriteLine("Gyerekekkel nem foglalkozom!");
            }
            else
            {
                Console.Write("Kérem adja meg a testsúlyát!(csak egy szám ami kg-ban értelmezendő)--> ");
                double bodyWeight = Convert.ToDouble(Console.ReadLine());
                if (bodyWeight > bodyHeight - 100)
                {
                    Console.WriteLine("Túlsúlyos! Fogynia kell!");
                }
                else
                {
                    Console.WriteLine("Egészséges vagy!");
                }
            }
Dátum ellenőrző egy lehetséges megoldása
Console.WriteLine("Kerem irja be egy honap sorszamat");
            int honap = Convert.ToInt32(Console.ReadLine());
            if (honap < 1 || honap > 12)
            {
                Console.WriteLine("Nem jó intervallumba esik a hónap sorszáma.");
            }
            else
            {
                Console.WriteLine("Kerem irja be a honaphoz egy nap sorszamat.");
                int nap = Convert.ToInt32(Console.ReadLine());
                string hiba = "Nem jó intervallumba esik a nap sorszáma.";
                if (honap == 1 || honap == 4 || honap == 6 || honap == 9 || honap == 11)
                {
                    if (!(nap >= 1 && nap <= 30)) //vagy: if (nap > 30 || nap < 1)
                    {
                        Console.Write(hiba);
                    }
                }
                else
                {
                    if (honap == 3 || honap == 5 || honap == 7 || honap == 8 || honap == 10 || honap == 12)
                    {
                        if (!(nap >= 1 && nap <= 31)) //vagy: if (nap < 1 || nap > 31))
                        {
                            Console.Write(hiba);
                        }
                    }
                    else
                    {
                        if (honap == 2)
                        {
                            if (!(nap >= 1 && nap <= 28)) //vagy: if (nap < 1 || nap > 28))
                            {
                                Console.Write(hiba);
                            }
                        }
                    }
                }
            }
Feladványok egy lehetséges megoldása Mátétól
Console.Write("Milyen feladatot szeretne megoldani? (matek, logikai, szöveges, karakteres):  ");
            string valasz = Console.ReadLine();
            switch (valasz)
            {
                case "matek":
                    Console.Write("Adjon meg egy számot:  ");
                    int szam1 = Convert.ToInt32(Console.ReadLine());
                    Console.Write("Adjon meg még egy számot:  ");
                    int szam2 = Convert.ToInt32(Console.ReadLine());
                    Console.WriteLine("Adja össze a két számot!  ");
                    int eredmeny = Convert.ToInt32(Console.ReadLine());
                    int gep = szam1 + szam2;
                    if (gep == eredmeny)
                    {
                        Console.WriteLine("Gratulálok, jól számoltál");
                    }
                    else
                        Console.WriteLine("Matek egyes");
                    break;
                case "logikai":
                    Console.Write("Ha két ember beszélget, akkor nem tud három elefánt fejjel lefelé lógva együtt balettozni, igaz?  (true/false)");
                    bool valasz2 = Convert.ToBoolean(Console.ReadLine());
                    bool gep2 = true;
                    if (gep2 == valasz2)
                    {
                        Console.WriteLine("Jól beszélsz öcsém");
                    }
                    else
                        Console.WriteLine("Hát komám, neked a fejedben az agyrágó bogár éhen pusztulna");
                    break;
                case "karakteres":
                    Console.Write("Mi James Bond monogramjának második betűje? (nagybetűvel!)  ");
                    char valasz3 = Convert.ToChar(Console.ReadLine());
                    char gep3 = 'B';
                    if (gep3 == valasz3)
                    {
                        Console.WriteLine("Helyes válasz");
                    }
                    else
                        Console.WriteLine("Nem talált!");
                    break;
                case "szöveges":
                    Console.Write("Írd le a szlogenemet (mint kiderült, van ilyen ROAD dal is)  ");
                    string valasz4 = Console.ReadLine();
                    string gep4 = "Egyszer élünk";
                    if (gep4 == valasz4)
                    {
                        Console.WriteLine("Gratula");
                    }
                    else
                        Console.WriteLine("Olyan messze van, mint ide Bukarest!");
                    break;
                default:
                    Console.WriteLine("Most dönteni nem tudsz, vagy a helyesírással vannak gondok?");
                    break;
            }
Múzeum egy lehetséges megoldása
Console.Title = "Múzeum";
            Console.WriteLine("Múzeum");
            Console.WriteLine("-------------\n");
            //Egy múzeumban a soron következő kiállításra folyamatosan
            //szállítják a festményeket. A múzeum 3 termet ad bérbe erre a célra.
            //Csontváry terem: 18. századi festmények
            //Zichy terem: 19. századi festmények
            //Munkácsy terem: 20. századi festmények
            //A 18-19. századi festmények csak magyar festőtől származhatnak.
            //A 20. századi festmények közül van magyar és külföldi kategória is.
            //A festmények kiállításáért bérleti díjat kell fizetni, képenként 5000 forintot.
 
            //Feladat:
            //Kérdezd meg a felhasználót, hogy mikor festették az adott képet.
            Console.Write("Mikor festették az adott képet? (év):  ");
            int ev = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine();
            //A válaszától függően közöld vele, hogy melyik terembe kell vinnie a képet.
            if (ev >= 1700 && ev < 2000)
            {
                if (ev < 1800)
                {
                    Console.WriteLine("A kép a Csontváry terembe tartozik.");
                }
                else
                {
                    if (ev < 1900)
                    {
                        Console.WriteLine("A kép a Zichy terembe tartozik.");
                    }
                    else
                    {
                        if (ev < 2000)
                        {
                            Console.WriteLine("A kép a Munkácsy terembe tartozik.");
                            Console.Write("\nA képet magyar vagy külföldi festő festette?:  ");
                            string magyarvagykulfold = Console.ReadLine();
                            if (magyarvagykulfold == "magyar"  || magyarvagykulfold == "külföldi" )
                            {
                                if (magyarvagykulfold == "magyar" )
                                {
                                    Console.WriteLine("\nA festmények a galériára kerülnek.");
                                    int berletidij = 5000;
                                    double felar = berletidij * 0.15;
                                    Console.WriteLine("\nA magyar festmények elhelyezése a galérián: {0, 10} Ft/db, ebből a felár {1, 10} Ft/db.", berletidij + felar, felar);
 
                                }
                                else
                                {
                                    Console.WriteLine("A festmények a terem falára kerülnek.");
                                }
                            }
                            else
                            {
                                Console.WriteLine("Hibás adatbevitel! Csak magyar vagy külföldi kategória létezik!");
                            }
 
                        }
                    }
                }
 
            }
 
            //Ha a bekért év nem a 18-20. századba esik, írd ki, hogy másik múzeumba vigyék a képet.
            else
            {
                Console.WriteLine("A képet másik múzeumba kell elvinni.");

2022.12.08. Adatbázis tervezés

Végigelemeztünk további két adatbázis megoldást. A köv. órán továbbmegyünk új anyaggal.

2022. december 7., szerda

2022.12.07. Adatbázis tervezés

  Az önálló gyakorlati feladatok ellenőrzése, elemzése: a közösségi platformosat megnéztük ma.

1 hét múlva témazáró


2022. december 5., hétfő

2022.12.06. Helyettesítés

Adatbázis

 A múlt órán kiadott két egyedi feladat-kidolgozás gondolom még nincs kész. Folytassátok ma, legyen meg az ellenőrzés is. A javítást is fel kell tölteni a drive-ra. (Akinek végképp teljesen kész, fogjon hozzá a harmadikhoz.)

(Ellenőrzés: Választasz magadnak egy párt, és megosztod vele a megoldásodat (az xlsx-et). A párod átnézi a feladatodat, és értékeli, méghozzá úgy, hogy beleírja az xlsx-be valamilyen színnel, mit talál jónak, rossznak.)

Programozás

A múlt hétre kiadott feladatokkal gondolom még nincs kész mindenki. Aki nincs kész, fejezze be. A szorgalmival is nyugodtan lehet próbálkozni, kérjetek egymástól segítséget.
Aki megoldott mindent, kérem, ismételjen a blog és a digifüzete segítségével.

Adok nektek tankönyvet is, aminek az elejét bátran lehet olvasgatni, és ennek segítségével ismételni. Meglátjátok, tetszeni fog! Amiről még nem hallottál, azt átugorhatod, vagy éppen ellenkezőleg: lecsaphatsz rá :)





2025.02.19.[helyettesítés] SQL feladatmegoldás - AI alapú önálló gyakorlás

A következő feladatsor a dolgozatokra készít fel, ahol egészen hasonló feladatokat fogtok kapni. Kérem a hiányzókat is, hogy pótoljanak lehe...