2021.01.06. -07. Rajzverseny

//Rajzverseny

 

//Az országos rajzversenyen 3 korcsoportban indulhattak a versenyzők:

//-    alsó tagozat (1.-4. osztály)

//-    felső tagozat (5.-8. osztály)

//-    középiskola (9.-12. osztály)

 

//A megyei fordulóból minimum 30, maximum 50 pontot hozhattak a versenyzők.

 

//Az országos fordulóban minden korcsoportban maximum 100 pontot lehetett szerezni, ehhez adódott hozzá a megyei fordulón szerzett pontok 25%-a.

//Az így kiszámított összpontszám alapján sorolták be a versenyzőket az alábbiak szerint:

//-    30-70 pontig: piktorok, ők könyvjutalomban részesültek;

//-    71-100 pontig: festők, ők a Louvre képeit kapták DVD-n;

//-    101-120 pontig: festőművész palánták, ők olajfesték készletet kaptak;

//-    121-140 pontig: festőművészek, ők olajpasztell, és porpasztell készletet kaptak;

//-    141-160 pontig: festőművész zsenik, ők magas pénzjutalomban részesültek, és elutazhattak az európai versenyre.

 

//Bekérendő adatok (input):

//-    a versenyző neve

//-    a versenyző osztálya

//-    megyei fordulóból hozott pontszáma, amelyet ellenőrzünk, hogy legalább 30, és legfeljebb 50 legyen; ha ettől eltérő számot ad meg a felhasználó, írjunk ki hibaüzenetet, és lépjünk ki a programból

//-    országos fordulón elért pontszáma, amelyet ellenőrzünk, hogy legfeljebb 100 legyen; ha 100 feletti számot ad meg a felhasználó, írjunk ki hibaüzenetet, és lépjünk ki a programból

 

//Kiírandó eredmények (output):

//-    a versenyző korcsoportja (alsós, felsős, középiskolás)

//-    a versenyző megyei fordulóból hozott pontszámának 25%-a

//-    a versenyző összpontszáma

//-    a versenyző pontszám alapján történő besorolása (piktor, festő, stb.)

//-    a versenyző nyereménye (külön kiírásban)

//Szorgalmi:

//Kérd be a felhasználótól, hogy hány óra van.

//Lehetséges értékek: 8-17.

//A program két egymás utáni egyágú szelekció segítségével döntse el,

//hogy délelőtt van, vagy délután, és írja is ki a képernyőre.


Megoldás:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;

namespace stringMuveletek
{
    class Program
    {
        static void Main(string[] args)
        {

            //Rajzverseny
            //Az országos rajzversenyen 3 korcsoportban indulhattak a versenyzők:
            //-    alsó tagozat (1.-4. osztály)
            //-    felső tagozat (5.-8. osztály)
            //-    középiskola (9.-12. osztály)

            //A megyei fordulóból minimum 30, maximum 50 pontot hozhattak a versenyzők.


            //Az országos fordulóban minden korcsoportban maximum 100 pontot lehetett szerezni, ehhez adódott hozzá a megyei fordulón szerzett pontok 25%-a.
            //Az így kiszámított összpontszám alapján sorolták be a versenyzőket az alábbiak szerint:
            //-    30-70 pontig: piktorok, ők könyvjutalomban részesültek;
            //-    71-100 pontig: festők, ők a Louvre képeit kapták DVD-n;
            //-    101-120 pontig: festőművész palánták, ők olajfesték készletet kaptak;
            //-    121-140 pontig: festőművészek, ők olajpasztell, és porpasztell készletet kaptak;
            //-    141-160 pontig: festőművész zsenik, ők magas pénzjutalomban részesültek, és elutazhattak az európai versenyre.
            //Bekérendő adatok (input):
            //-    a versenyző neve
            Console.WriteLine("A versenyző nevét kérem: ");
            string nev = Console.ReadLine();
            //-    a versenyző osztálya
            Console.WriteLine("Kérem a versenyző osztályát: ");
            int osztaly = Convert.ToInt32(Console.ReadLine());
            //-    megyei fordulóból hozott pontszáma, amelyet ellenőrzünk, hogy legalább 30, és legfeljebb 50 legyen; ha ettől eltérő számot ad meg a felhasználó, írjunk ki hibaüzenetet, és lépjünk ki a programból
            Console.WriteLine("Mennyi pontot szereztél a megyei versenyen (max 50, min 30)?: ");
            int megyei = Convert.ToInt32(Console.ReadLine());
            if (megyei < 30 || megyei > 50)
            {
                Console.WriteLine("Rossz számokat írtál be apu");
                Thread.Sleep(1500);
                return;
            }
            //-    országos fordulón elért pontszáma, amelyet ellenőrzünk, hogy legfeljebb 100 legyen; ha 100 feletti számot ad meg a felhasználó, írjunk ki hibaüzenetet, és lépjünk ki a programból
            Console.WriteLine("Az országos fordulón mennyi pontot értél el (max: 100)?: ");
            int orszagos = Convert.ToInt32(Console.ReadLine());
            if (orszagos > 100)
            {
                Console.WriteLine("Ez nem lehet öcskös");
                Thread.Sleep(1500);
                return;
            }

            //Kiírandó eredmények (output):
            //-    a versenyző korcsoportja (alsós, felsős, középiskolás)
            if (osztaly > 0 && osztaly <= 4)
            {
                Console.WriteLine("A versenyző alsó tagozatos");
                Console.ReadLine();
            }
            if (osztaly > 4 && osztaly <= 8)
            {
                Console.WriteLine("A versenyző felső tagozatos");
                Console.ReadLine();
            }
            if (osztaly > 8 && osztaly <= 12)
            {
                Console.WriteLine("A versenyző középiskolás");
                Console.ReadLine();
            }
            //-    a versenyző megyei fordulóból hozott pontszámának 25%-a
            double megyei25 = megyei * 0.25;
            Console.WriteLine("Megyei pontok 25%-a: {0}", megyei25);
            //-    a versenyző összpontszáma
            double osszpontszam = megyei25 + orszagos;
            Console.WriteLine("A versenyző összpontszáma: {0}", osszpontszam);
            //-    a versenyző pontszám alapján történő besorolása (piktor, festő, stb.)
            string nyeremeny = String.Empty;
            Console.Write("A versenyző besorolása: ");
            if (osszpontszam >= 30 && osszpontszam <= 70)
            {
                Console.WriteLine("piktor");
                nyeremeny = " könyvjutalomban részesültök";

            }
            if (osszpontszam > 70 && osszpontszam <= 100)
            {
                Console.WriteLine("festő");
                nyeremeny = "a Louvre képeit kapjátok DVD-n";
            }
            if (osszpontszam > 100 && osszpontszam <= 120)
            {
                Console.WriteLine("festőművész palánta");
                nyeremeny = "olajfesték készletet kaptok";
            }
            if (osszpontszam > 120 && osszpontszam <= 140)
            {
                Console.WriteLine("festőművész");
                nyeremeny = "olajpasztellt, és porpasztell készletet kaptok";
            }
            if (osszpontszam > 140 && osszpontszam >= 160)
            {
                Console.WriteLine("festőművész zseni");
                nyeremeny = "magas pénzjutalomban részesültök, és elutazhattok az európai versenyre";

            }
            //-    a versenyző nyereménye (külön kiírásban)
            Console.WriteLine("Nyereményetek: {0}",nyeremeny);

            //Szorgalmi:
            //Kérd be a felhasználótól, hogy hány óra van. Lehetséges értékek: 8-17.
            //A program két egymás utáni egyágú szelekció segítségével döntse el,
            //hogy délelőtt van, vagy délután, és írja is ki a képernyőre.
            DateTime elso = Convert.ToDateTime("8:00");
            DateTime masodik = Convert.ToDateTime("17:00");
            //a 12 órát is fel lehetne itt venni, de gyakorlásképpen azt a feltételben oldjuk meg
            Console.Write("Hány óra van (8:00 - 17:00)? ");
            DateTime ido = Convert.ToDateTime(Console.ReadLine());
            if (ido >= elso && ido <= Convert.ToDateTime("12:00"))
            {
                Console.WriteLine("Délelőtt van.");
            }
            if (ido > Convert.ToDateTime("12:00") && ido <= masodik)
            {
                Console.WriteLine("Délután van.");
            }
            Console.ReadLine();

        }
    }
}

2021.01.06. Output formázások

using System;

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.

            //Szorgalmi: oldd meg a soronkénti

            //kiírásokat két oszloposan.



            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.ReadLine();



            //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.ReadLine();



            //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.ReadLine();

            //Ugyanez elegánsan megoldva (balra 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);


            //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.ReadLine();



            //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);

            Console.ReadLine();

            //Ugyanez két oszloposan megoldva (jobbra rendezett):

            Console.ReadLine();



            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();

        }

    }

}

2020.12.18. Az év utolsó feladata: a digifüzet aktualizálása

 A megbeszéltek szerint légy szíves a digifüzetedet ellenőrizni és ha szükséges, kiegészíteni. A blogbejegyzéseken kívül ebben vannak a házi feladataid és az órai munkáid is. Nagyon fontos, hogy minden bejegyzéshez tartozzon címsor, ennek segítségével tudsz a vázlat nézetben tájékozódni. Amikor elkészültél, oszd meg velem (újra) a digifüzetedet.

2020.12.16.-17. Karakter-, és stringműveletek

using System;
namespace stringMuveletek
{
    class Program
    {
        static void Main(string[] args)
        {
            //1. feladat:
            //Tároljunk egy szöveget sorokra tagolva változóban.
            //Írjuk ki a képernyőre egy utasítással úgy,
            //hogy egy üres sor legyen előtte.
            string vicc = "Két informatikus beszélget:" + "\n" +
                          "- Neked mi volt eddig a legkomolyabb kapcsolatod?" + "\n" +
                          "- Egy négy megás ADSL!";

            Console.WriteLine("{0}{1}", "\n", vicc);

            //2. feladat: Adjuk meg a szöveg hosszát.
            Console.WriteLine("A vicc hossza karakterekben: {0}", vicc.Length); Console.WriteLine();

            //3. feladat: Írjuk ki nagybetűsre alakítva.
            Console.WriteLine("A vicc nagybetűsen: {0}", vicc.ToUpper()); Console.WriteLine();

            //4. feladat: Írjuk ki kisbetűsre alakítva.
            Console.WriteLine("A vicc kisbetűsen: {0}", vicc.ToLower()); Console.WriteLine();

            //5. feladat: Írjuk ki a szöveg első néhány karakterét.
            Console.WriteLine("A vicc első 16 karaktere: {0}", vicc.Substring(0,16)); Console.WriteLine();
            //honnan kell kezdeni, hány darab karakter kell
            //6. feladat: Írjuk ki a szöveg egy részletét.
            Console.WriteLine("A vicc egy részlete a 5-13 karakterek között: {0}", vicc.Substring(4, 10)); Console.WriteLine();

            //7.a feladat:
            //Írjuk ki, hogy a szöveg egy konkrét szóval kezdődik-e,
            //vagy nem.
            //Használjunk logikai változót.

            bool igazE = vicc.StartsWith("Két");
            if (igazE == true)
            {
                Console.WriteLine("A vicc a \"Két\" szóval kezdődik.");
                Console.WriteLine();
            }

            if (igazE == false)
            {
                Console.WriteLine("A vicc nem a \"Két\" szóval kezdődik.");
                Console.WriteLine();
            }

            //7.b feladat:
            //Írjuk ki teljes mondattal, hogy a szöveg egy
            //konkrét szóval kezdődik-e, vagy nem.
            //Ne használjunk logikai változót,
            //a szöveget vizsgáló függvényt a feltételbe tegyük.

            //A 7.a feladatnál egyszerűbb, és szebb kód:
            if (vicc.StartsWith("Két") == true) //Még szebb: (vicc.StartsWith("Két"))
            {
                Console.WriteLine("A vicc a \"Két\" szóval kezdődik.");
                Console.WriteLine();
            }

            if (vicc.StartsWith("Két") == false) //(Még szebb: !vicc.StartsWith("Két"))
            {
                Console.WriteLine("A vicc nem a \"Két\" szóval kezdődik.");
                Console.WriteLine();
            }

            Console.WriteLine();

            //8. feladat:
            //Cseréljünk ki egy konkrét rész-szöveget egy másikra.

            Console.WriteLine("A vicc szövegében kicseréltem az ADSL-t ISDN-re: {0}{1}", "\n", vicc.Replace("ADSL", "ISDN")); Console.WriteLine();

          
         
            //9. feladat:
            //Tegyük fel a kérdést, hogy konkrét szöveg
            //szerepel-e az eredeti szövegben.
            //Írjuk ki <Igen.>, vagy <Nem.> formában a választ.           
 //itt folytajuk
            Console.Write("A vicc tartalmazza ezt a szót: Bill Gates?: ");
            if (vicc.Contains("Bill Gates"))
            {
                Console.WriteLine("Igen.");
                Console.WriteLine("Benne van.");
            }

            if (!vicc.Contains("Bill Gates"))
                Console.WriteLine("Nem.");

            Console.WriteLine();
        
            //10. feladat:
            //Szólítsuk fel a usert, hogy kapcsolja be a Caps Lock-ot.
            //Várjunk egy billentyűlenyomásra.
            //- Ha sikerült, írjunk ki helyeslő hozzászólást.
            //- Ha nem sikerült, írjunk ki helytelenítő hozzászólást.
            //Ebben az esetben itt azonnal fejeződjön be a program,
            //erről tájékoztassuk a usert is.

            Console.WriteLine("Kapcsold be a Caps Lock-ot! Ha kész, nyomj egy billentyűt...");
            Console.ReadLine();

            if (Console.CapsLock == true)
                Console.WriteLine("Cool!");

            if (Console.CapsLock == false)
            {
                Console.WriteLine("Nem kapcsoltad be a Caps Lock-ot, így nem tudunk tovább dolgozni.");
                Console.WriteLine("Nyomj egy billentyűt a kilépéshez.");
                Console.ReadLine();
                return;
            }

            //11. feladat:
            //Kérjünk be egy szöveget, amely szóközökkel kezdődik és végződik.
            //- Vágjunk le róla minden szóközt, alakítsuk
            //kisbetűsre és írjuk ki.
            //- Egészítsük ki újra szóközökkel, és írjuk ki.
            //- Írjuk ki bevezető szóközök nélkül.
            //- Írjuk ki záró szóközök nélkül.
            //- Írjuk ki a szöveget, ami még mindig
            //szóközökkel kezdődik és végződik.
            //- Vágjuk le az összes szóközt, és írjuk ki a szöveget.


            Console.WriteLine();
            Console.Write("Kérek egy szöveget, amely szóközökkel kezdődjön és végződjön: ");
            string szoveg = Console.ReadLine();
            szoveg = szoveg.Trim();
            szoveg = szoveg.ToLower();
            Console.WriteLine();
            Console.WriteLine("Levágtam a bevezető és a záró szóközöket, majd kisbetűsre alakítottam: <{0}>", szoveg); Console.WriteLine();

            szoveg = "     " + szoveg + "     ";
            Console.WriteLine("Újra szóközökkel egészítettem ki: <{0}>", szoveg); Console.WriteLine();
            Console.WriteLine("Most levágtam a bevezető szóközöket a kiírás idejére: <{0}>", szoveg.TrimStart()); Console.WriteLine();
            Console.WriteLine("Most levágtam a záró szóközöket a kiírás idejére: <{0}>", szoveg.TrimEnd()); Console.WriteLine();
            Console.WriteLine("A szöveg formája a memóriában ezek után is: <{0}>", szoveg); Console.WriteLine();
            szoveg = szoveg.Trim();
            Console.WriteLine("A szöveg szóközök nélkül a memóriában: <{0}>", szoveg); Console.WriteLine();

            //12. feladat: hivatkozás a szöveg karaktereire
            //Írjuk ki a szöveg első és második betűjét.
            //Állapítsuk meg, hogy melyik van előbb az ABC-ben,
            //vagy egyenlőek-e.
            //Adjunk üzenetet mindhárom lehetőségről.

            Console.WriteLine("A szöveg első betűje: {0}", szoveg[0]);
            Console.WriteLine("A szöveg második betűje: {0}", szoveg[1]);
            Console.WriteLine();


            if (szoveg[0].CompareTo(szoveg[1]) < 0)
                Console.WriteLine("A szöveg első betűje ({0}) előbb van az ABC-ben, mint a második ({1}).", szoveg[0], szoveg[1]);
            else
                if (szoveg[0].CompareTo(szoveg[1]) == 0)
                    Console.WriteLine("A szöveg első betűje ({0}) ugyanaz, mint a második ({1}).", szoveg[0], szoveg[1]);
                else
                    Console.WriteLine("A szöveg első betűje ({0}) később van az ABC-ben, mint a második ({1}).", szoveg[0], szoveg[1]);

            //13. feladat: Karakterkezelés
            //Alakítsuk karakterré a szöveg első és második betűjét.
            //Állapítsuk meg, hogy melyik van előbb az ABC-ben,
            //vagy egyenlőek-e.
            //Adjunk üzenetet mindhárom lehetőségről.

            char elso = szoveg[0];
            char masodik = szoveg[1];
            if (elso < masodik)
                Console.WriteLine("A szöveg első betűje ({0}) előbb van az ABC-ben, mint a második ({1}).", elso, masodik);
            else
                if (elso == masodik)
                    Console.WriteLine("A szöveg első betűje ({0}) ugyanaz, mint a második ({1}).", elso, masodik);
                else
                    Console.WriteLine("A szöveg első betűje ({0}) később van az ABC-ben, mint a második ({1}).", elso, masodik);
            Console.WriteLine("Nyomj egy billentyűt a kilépéshez.");
            Console.ReadLine();
        }
    }
}

 

2023.04.26. Javító feladatsor