2022. november 18., péntek

2022.11.18. Kétágú szelekció

Kétágú szelekció bevezetése
Feladat
//1.feladat:
//- Kérj be egy egész számot.
//- Írd ki, hogy pozitív, vagy negatív.
//1. megoldás - egyágú szelekcióval:
//2. megoldás - kétágú szelekcióval:
//- Írd ki, hogy osztható-e 2-vel.
//1. megoldás - egyágú szelekcióval:
//2. megoldás - kétágú szelekcióval:
//2.feladat:
//- Kérj be egy betűt.
//- Írd ki, hogy a bekért betű a nagy A betű-e, vagy nem.
//1. megoldás - egyágú szelekcióval:
//2. megoldás - kétágú szelekcióval:
//3.feladat:
//- Kérd be, milyen nap van ma.
//- Írd ki, hogy a bekért szó tényleg a mai nap-e, vagy nem.
//1. megoldás - egyágú szelekcióval:
//2. megoldás - kétágú szelekcióval:
//4.feladat:
//- Kérj be egy tetszőleges számot.
//- Írd ki, hogy a bekért szám tizede nagyobb 5-nél, vagy kisebb 5-nél.
//1. megoldás - egyágú szelekcióval:
//egyenlőséget nem kezeltük.
//2. megoldás - kétágú szelekcióval:
//egyenlőséget is kezeltük.

////////////////////////////////////////////////////////////////////////////////////
//5.feladat:
//- Kérd be a magyar abc első mássalhangzóját.
//- Írj ki egy megjegyzést arról, hogy jó-e a válasz.
//- Írj ki még egy mondatot a következő sorba.
//1. megoldás - egyágú szelekcióval:
//2. megoldás - kétágú szelekcióval:
//6.feladat:
//- Kérd be az <igaz> szót angolul. (Használj logikai változót.)
//- Írj ki egy megjegyzést arról, hogy jó-e a válasz.
//- Írj ki még egy mondatot a következő sorba.
//1. megoldás - egyágú szelekcióval:
//2. megoldás - kétágú szelekcióval:
Megoldás
namespace ketaguSzelekcioBevezetes
{
    class Program
    {
        static void Main(string[] args)
        {
            //1.feladat:
            //- Kérj be egy egész számot.
            //- Írd ki, hogy pozitív, vagy negatív.
            Console.Write("Írj be egy számot: ");
            int szam = Convert.ToInt32(Console.ReadLine());
            //1. megoldás - egyágú szelekcióval:
            if (szam >= 0)
                Console.WriteLine("A szám pozitív.");
            if (szam < 0)
                Console.WriteLine("A szám negatív.");
            //2. megoldás - kétágú szelekcióval:
            if (szam >= 0)
                Console.WriteLine("A szám pozitív.");
            else
                Console.WriteLine("A szám negatív.");  //Egy utasítás van az else ágban.
            //- Írd ki, hogy osztható-e 2-vel.
            //1. megoldás - egyágú szelekcióval:
            if (szam % 2 == 0)
                Console.WriteLine("A szám osztható 2-vel.");
            if (szam % 2 != 0)
                Console.WriteLine("A szám nem osztható 2-vel.");
            //2. megoldás - kétágú szelekcióval:
            if (szam % 2 == 0)
                Console.WriteLine("A szám osztható 2-vel.");
            else
                Console.WriteLine("A szám nem osztható 2-vel.");
            //2.feladat:
            //- Kérj be egy betűt.
            //- Írd ki, hogy a bekért betű a nagy A betű-e, vagy nem.
            Console.Write("Írj be egy betűt: ");
            char betu = Convert.ToChar(Console.ReadLine());
            //1. megoldás - egyágú szelekcióval:
            if (betu == 'A')
                Console.WriteLine("Az A betűt ütötted be.");
            if (betu != 'A')
                Console.WriteLine("Nem az A betűt ütötted be.");
            //2. megoldás - kétágú szelekcióval:            
            if (betu == 'A')
                Console.WriteLine("Az A betűt ütötted be.");
            else
                Console.WriteLine("Nem az A betűt ütötted be.");
            //3.feladat:
            //- Kérd be, milyen nap van ma.
            //- Írd ki, hogy a bekért szó tényleg a mai nap-e, vagy nem.
            Console.Write("Írd be, milyen nap van ma: ");
            string nap = Console.ReadLine();
            //1. megoldás - egyágú szelekcióval:
            if (nap == "péntek")
                Console.WriteLine("Eltaláltad.");
            if (nap != "péntek")   //  másik megoldás:   if (!(nap == "péntek"))
                Console.WriteLine("Hoppá :(.");
            //2. megoldás - kétágú szelekcióval:
            if (nap == "péntek")
                Console.WriteLine("Eltaláltad.");
            else
                Console.WriteLine("Hoppá :(.");
            //4.feladat:
            //- Kérj be egy tetszőleges számot.
            //- Írd ki, hogy a bekért szám tizede nagyobb 5-nél, vagy kisebb 5-nél.
            Console.Write("Írj be egy tetszőleges számot: ");
            double tortSzam = Convert.ToDouble(Console.ReadLine());
            //1. megoldás - egyágú szelekcióval:
            if (tortSzam / 10 > 5)
                Console.WriteLine("A szám tizede nagyobb 5-nél.");
            if (tortSzam / 10 < 5)
                Console.WriteLine("A szám tizede kisebb 5-nél."); //Vigyázat! Az egyenlőséget nem kezeltük.
            //2. megoldás - kétágú szelekcióval:
            if (tortSzam / 10 > 5)
                Console.WriteLine("A szám tizede nagyobb 5-nél.");
            else
                Console.WriteLine("A szám tizede nem nagyobb 5-nél."); //Figyelem! Az egyenlőséget is kezeltük.       //////////////////////////////////////////////////////////////////////////////////////
            //5.feladat:
            //- Kérd be a magyar abc első mássalhangzóját.
            //- Írj ki egy megjegyzést arról, hogy jó-e a válasz.
            //- Írj ki még egy mondatot a következő sorba.
            Console.Write("Írd be a magyar abc első mássalhangzóját: ");
            betu = Convert.ToChar(Console.ReadLine());
            //1. megoldás - egyágú szelekcióval:
            if (betu == 'b')
            {
                Console.WriteLine("Szép is lett volna, ha nem tudod!");   //Két utasítás van az else ágban.
                Console.WriteLine("Legközelebb nehezebbet kérdezek!");
            }
            if (betu != 'b')      //másik megoldás: (!(betu == 'b'))  
            {
                Console.WriteLine("Hát ez szép, mondhatom.");
                Console.WriteLine("Mehetsz vissza az első osztályba!");
            }
            //2. megoldás - kétágú szelekcióval:
            if (betu == 'b')
            {
                Console.WriteLine("Szép is lett volna, ha nem tudod!");
                Console.WriteLine("Legközelebb nehezebbet kérdezek!");
            }
            else
            {
                Console.WriteLine("Hát ez szép, mondhatom.");
                Console.WriteLine("Mehetsz vissza az első osztályba!");
            }
            //6.feladat:
            //- Kérd be az <igaz> szót angolul. (Használj logikai változót.)
            //- Írj ki egy megjegyzést arról, hogy jó-e a válasz.
            //- Írj ki még egy mondatot a következő sorba.
            Console.Write("Írd be az <igaz> szót angolul: ");
            bool log = Convert.ToBoolean(Console.ReadLine());
            //1. megoldás - egyágú szelekcióval:
            if (log == true)   //így is jó: if (log)
            {
                Console.WriteLine("Szép is lett volna, ha nem tudod!");
                Console.WriteLine("Legközelebb nehezebbet kérdezek!");
            }
            if (log == false)  //így is jó: if (!log)
            {
                Console.WriteLine("Hát ez szép, mondhatom.");
                Console.WriteLine("Mehetsz vissza a negyedik osztályba!");
            }
            //2. megoldás - kétágú szelekcióval:
            if (log == true)
            {
                Console.WriteLine("Szép is lett volna, ha nem tudod!");
                Console.WriteLine("Legközelebb nehezebbet kérdezek!");
            }
            else
            {
                Console.WriteLine("Hát ez szép, mondhatom.");
                Console.WriteLine("Mehetsz vissza a negyedik osztályba!");
            }
            Console.ReadLine();
        }
    }
}

2022.11.18. Osztások + Tört formázása a kiírásban

 using System;


namespace ConsoleApp21
{
    class Program
    {
        static void Main(string[] args)
        {
            //Tört formázása a kiírásban:
            Console.WriteLine("Az alábbi sorokban egy tört számot írunk ki különbözőképpen formázva: ");
            double szam = 16546.6875645;
            Console.Write("Mindenféle formázás nélkül:");
            Console.WriteLine(szam);
            Console.WriteLine();

            Console.WriteLine("3 tizedesjeggyel, 15 hosszon jobbra:");
            Console.WriteLine("Szám: {0,15:0.000}", szam);
            //vagy így:
            Console.WriteLine("Szám: {0,15:.000}", szam);
            Console.WriteLine();

            Console.WriteLine("3 tizedesjeggyel:");
            Console.WriteLine("Szám: {0:.000}", szam);
            Console.WriteLine();

            Console.WriteLine("3 tizedesjeggyel, 15 hosszon balra, kétszer egymás után:");
            Console.WriteLine("Szám: {0,-15:.000}{0,-15:.000}", szam);
            Console.WriteLine();

            Console.WriteLine("Tizedesjegyek nélkül, ekkor kerekít is, nem csak levágja a tizedesjegyeket:");
            Console.WriteLine("Szám: {0:0}", szam);
            Console.WriteLine();

            Console.WriteLine("Függvénnyel kerekítve:");
            Console.WriteLine("Szám: {0}", Math.Round(szam,0));
            Console.WriteLine("Szám: {0}", Math.Round(szam, 1));
            Console.WriteLine("Szám: {0}", Math.Round(szam, 2));
            Console.WriteLine("Szám: {0}", Math.Round(szam, 3));
            Console.WriteLine("Szám: {0}", Math.Round(szam, 4));
            Console.WriteLine();

            Console.WriteLine("Az alábbi sorokban egy TÖRTként tárolt EGÉSZ számot írunk ki különbözőképpen formázva: ");
            szam = 16546;
            Console.WriteLine("3 tizedesjeggyel:");
            Console.WriteLine("Szám: {0:0.000}", szam);
            Console.WriteLine();

            Console.WriteLine("Tizedesjegyek nélkül:");
            Console.WriteLine("Szám: {0:0}", szam);
            Console.WriteLine();


            // Osszunk el egymással két számot!
            //Lássuk, milyen eredményeket kaphatunk attól
            //függően, hogy milyen számokról volt szó.
            int a = 4;
            int b = 5;

            Console.WriteLine("Két egész számot osztunk el egymással (<a> és <b>). 4 / 5 eredménye: {0}", a / b);
            Console.WriteLine("Ha az eredmény tört szám, annak csak egész része jelenik meg.\nMivel két egész számot osztottunk, az eredmény is egész szám lesz. Ezzel elvesztettük a tört részt.\nEz általában nem jó, de néha hasznos.");
            Console.WriteLine();
            Console.WriteLine("4 / 5 művelet osztási maradéka, vagyis 4 % 5: {0}, hiszen nincs meg benne egyszer sem, és a maradék 4.", a % b);
            Console.WriteLine();

            Console.WriteLine("Ha meg szeretnénk tudni, hogy két szám osztható-e egymással,\ncsak meg kell nézni, van-e osztási maradék.");
            Console.WriteLine("Ha nincs maradék, oszthatók egymással.");
            Console.WriteLine("10 / 5 osztás eredménye: {0}", 10/5);
            Console.WriteLine("10 / 5 osztás osztási maradéka, vagyik 10 % 5: {0}", 10 % 5);
            Console.WriteLine();

            Console.WriteLine("Most az <a> és a <b> értékét értékül adjuk egy-egy double típusú változónak.");
            double aTortSzam = a;
            double bTortSzam = b;
            Console.WriteLine("A két egész szám osztásának eredménye, ha törtként számoltunk velük (4 / 5): {0}", aTortSzam / bTortSzam);
            Console.WriteLine();

            Console.ReadLine();

        }
    }
}

2022.11.18. Output formázások

 Output formázások

namespace adatlopo
{
    class Program
    {
        static void Main(string[] args)
        {
            //Adatlopó
            //Írjunk programot, mely adatokat kér be a
            //felhasználótól, majd különböző formában
            //kiírja azokat.
            Console.Title = "Ez nem adatlopó program :)";
            const string hackerCode = "DEVIL"; //ez nem változik a program során: konstans érték
            Console.Write("Felhasználónév: ");          
            string userName = Console.ReadLine();
            Console.Write("Jelszó: ");          
            string password = Console.ReadLine();
            Console.Write("IP cím: ");          
            string ip = Console.ReadLine();
            Console.Write("Kedvenc torrent server: ");          
            string torrent = Console.ReadLine();
            Console.Write("Letöltések száma havonta: ");
            string downloads = Console.ReadLine();
           Console.WriteLine("\n\n");
            //Kiírjuk a hacker képernyőjére a megszerzett adatokat:
            Console.WriteLine("To: {0} ",hackerCode );
            Console.WriteLine("Username: {0} ",userName );
            Console.WriteLine("Password: {0} ",password );
            Console.WriteLine("IP: {0} ",ip );
            Console.WriteLine("Torrent: {0} ",torrent );
            Console.WriteLine("Downloads: {0} ",downloads );
           Console.WriteLine("\n\n");
            //Egy kicsit szebben így néz ki (balra rendezett):
            Console.WriteLine("To:          {0}",hackerCode );
            Console.WriteLine("Username:    {0}",userName );
            Console.WriteLine("Password:    {0}",password );
            Console.WriteLine("IP:          {0}",ip );
            Console.WriteLine("Torrent:     {0}",torrent );
            Console.WriteLine("Downloads:   {0}",downloads );
           Console.WriteLine("\n\n");
            //Ugyanez elegánsan megoldva (jobbra rendezett):
            Console.WriteLine("To:          {0,19}",hackerCode );
            Console.WriteLine("Username:    {0,19}",userName );
            Console.WriteLine("Password:    {0,19}",password );
            Console.WriteLine("IP:          {0,19}",ip );
            Console.WriteLine("Torrent:     {0,19}",torrent );
            Console.WriteLine("Downloads:   {0,19}",downloads );
           Console.WriteLine("\n\n");
            //ugyanezeket így is kiírhatnánk (balra rendezett):
            Console.WriteLine("To: {0}, Username: {1}, Password: {2}, IP: {3}, Torrent: {4}, Downloads: {5}", hackerCode, userName, password, ip, torrent, downloads);
           Console.WriteLine("\n\n");
            //vagy így (jobbra rendezett):
            Console.WriteLine("To: {0,8}, Username: {1,8}, Password: {2,8}, IP: {3,19}, Torrent: {4,8}, Downloads: {5,4}", hackerCode, userName, password, ip, torrent, downloads);
            //Ugyanez két oszloposan megoldva (jobbra rendezett):
           Console.WriteLine("\n\n");
            Console.WriteLine("To:          {0,19} IP:          {1,19}", hackerCode,ip);
            Console.WriteLine("Username:    {0,19} Torrent:     {1,19}", userName,torrent);
            Console.WriteLine("Password:    {0,19} Downloads:   {1,19}", password,downloads);
            Console.ReadLine();
        }
    }

2022.11.18. Konstans

 

Elmélet:

 

Konstans: olyan változó, amely egyszer kaphat értéket, aztán nem lehet megváltoztatni.

Ennek az az értelme, hogy védeni akarom az értéket a véletlen változtatástól.

Használata: amikor definiálom a változót, eléírom a const szót.

pl.:

            const int szam = 0;

            const double tort = 3.5;

            const bool log = true;

 

Ezek után például ez az utasítás nem működik:

szam = 5;

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