2020.12.04./2 Szelekció gyakorlása: Dolgozat értékelés

  

            //Dolgozat értékelés

            //1. Kérd be egy 100 pontos dolgozat 5 feladatának pontszámait.

            //Lehetnek fél pontok is.

            //2. Összesítsd a pontokat, írd is ki.

            //3. Ezután írd ki, hányast kapott a user.

            //25%-ig egyes, 40%-ig kettes, 60%-ig hármas, 80%-ig négyes, afölött ötös.

            //4. Építsd bele a programba az összpontszám-ellenőrzést:

            //ha a kiszámolt összpontszám nem a nulla és 100

            //közé esik, akkor hangjelzés kíséretében írj ki hibaüzenetet,

            //és szakítsd meg a programot.

            //Kérdés1: Hogyan kezelnéd a hibás érték bevitelét?

            //Kérdés2: Mi a hátránya annak, hogy egymás után

            //minden feltételt kiértékel a program?

            //5. feladat: Építsd bele a programba a feladatonkénti

            //pontszámellenőrzést a következők alapján:

            //első feladat: 20 pont

            //második feladat: 15 pont

            //harmadik feladat: 25 pont

            //negyedik feladat: 10 pont

            //ötödik feladat: 30 pont

            //Ha a bekért pontszám nem a nulla és a megfelelő

            //pontszám közé esik, akkor hangjelzés kíséretében

            //írj ki hibaüzenetet, és szakítsd meg a programot.

            //6. feladat: Légy jó szívű! Add meg a jobb jegyet, ha

            //csak fél pont hiányzik.

            //(Vagy inkább kegyetlen akarsz lenni?:)

            //Szorgalmi: Add meg a pontok bekérésénél

            //az összetett feltételeket kétféleképpen:

            //úgy, hogy ne legyen benne tagadás, és

            //úgy, hogy legyen benne egy tagadás.

using System;
using System.Threading;

namespace szelekcioGyakorlas
{
    class Program
    {
        static void Main(string[] args)
        {
            //int szam = 10;//legyen egyenlő (értékadás)
            //if (szam == 10) //egyenlő-e?
            //{
            //    Console.WriteLine("igaz");
            //}

            //Dolgozat értékelés
            //1. Kérd be egy 100 pontos dolgozat 5 feladatának pontszámait.
            //Lehetnek fél pontok is.
            Console.Write("Kérem az 1. feladat elért pontszámát (max. 20): ");
            double elso = Convert.ToDouble(Console.ReadLine());
            //Ez a feltétel VAGY művelettel oldja meg az ellenőrzést:
            //if (elso < 0 || elso > 20)
            //{
            //    Console.WriteLine("Rossz a feladat pontszáma!");
            //    Console.Beep();
            //    Thread.Sleep(1000);
            //    return;
            //} 

            //Ez a feltétel tagadott ÉS művelettel oldja meg ugyanazt az ellenőrzést.
            //A két megoldás egyenértékű.
            //Figyeljük meg, hogy a VAGY művelet ÉS-re változott, amikor tagadtuk.
            if (!(elso >= 0 && elso <= 20))    //összetett feltétel, hiszen VAGY/ÉS van benne
            {
                Console.WriteLine("Rossz a feladat pontszáma!");
                Console.Beep();
                Thread.Sleep(1000); //1 másodperc (1000 ezredmásodperc) késleltetés
                return; //azonnal kilép a programból
            }

            Console.Write("Kérem az 2. feladat elért pontszámát (max. 15): ");
            double masodik = Convert.ToDouble(Console.ReadLine());
            if (masodik < 0 || masodik > 15) //összetett feltétel, hiszen VAGY/ÉS van benne
            {
                Console.WriteLine("Rossz a feladat pontszáma!");
                Console.Beep();
                Thread.Sleep(1000);
                return;
            }

            Console.Write("Kérem az 3. feladat elért pontszámát (max. 25):");
            double harmadik = Convert.ToDouble(Console.ReadLine());
            if (harmadik < 0 || harmadik > 25)
            {
                Console.WriteLine("Rossz a feladat pontszáma!");
                Console.Beep();
                Thread.Sleep(1000);
                return;
            }

            Console.Write("Kérem az 4. feladat elért pontszámát (max. 10):");
            double negyedik = Convert.ToDouble(Console.ReadLine());
            if (negyedik < 0 || negyedik > 10)
            {
                Console.WriteLine("Rossz a feladat pontszáma!");
                Console.Beep();
                Thread.Sleep(1000);
                return;
            }

            Console.Write("Kérem az 5. feladat elért pontszámát (max. 30): ");
            double otodik = Convert.ToDouble(Console.ReadLine());

            if (otodik < 0 || otodik > 30)
            {
                Console.WriteLine("Rossz a feladat pontszáma!");
                Console.Beep();
                Thread.Sleep(1000);
                return;
            }


            //2. Összesítsd a pontokat, írd is ki.
            double osszesen = elso + masodik + harmadik + negyedik + otodik;
            Console.WriteLine("Összpontszám: {0}", osszesen);
            //3. Ezután írd ki, hányast kapott a user.

            if (osszesen < 0 || osszesen > 100)
            {
                Console.WriteLine("Rossz az összpontszám!");
                Console.Beep();
                Thread.Sleep(1000);
                return;
            }

            // A következő 5 szelekció hátránya, hogy ha bármelyik igaz,
            //attól még kiértékeli a többit is, ezek így fölösleges utasítás-végrehajtások.
            //Ezt a kétágú szelekcióval fogjuk tudni elkerülni.          

            //Kiértékelés: megvizsgálja, igaz-e vagy hamis a feltétel

            if (osszesen <= 60)
            {
                Console.WriteLine("Egyest kaptál.");
            }

            if (osszesen >= 60.5 && osszesen <= 70)
            {
                Console.WriteLine("Kettest kaptál.");
            }

            if (osszesen >= 70.5 && osszesen <= 80)
            {
                Console.WriteLine("Hármast kaptál.");
            }

            if (osszesen >= 80.5 && osszesen <= 90)
            {
                Console.WriteLine("Négyest kaptál.");
            }

            if (osszesen >= 90.5 && osszesen <= 100)
            {
                Console.WriteLine("Ötöst kaptál.");
            }

            //4 feladat: Építsd bele a programba az összpontszám-ellenőrzést:
            //ha a kiszámolt összpontszám nem a nulla és 100
            //közé esik, akkor hangjelzés kíséretében írj ki hibaüzenetet,
            //és szakítsd meg a programot.
            //EZT FÖNT OLDOTTUK MEG A PONTSZÁMBEKÉRÉSEKNÉL 

            //Kérdés1: Hogyan kezelnéd a hibás érték bevitelét?
            //Válasz: megoldottuk, amennyire tudtuk.
            //Ha majd megtanuljuk a ciklusokat, akkor majd
            //addig kérjük be újra és újra a pontszámot, amíg jó nem lesz.

            //Kérdés2: Mi a hátránya annak, hogy egymás után
            //minden feltételt kiértékel a program?
            //A válasz a szelekcióknál van. 

            //5. feladat: Építsd bele a programba a feladatonkénti
            //pontszámellenőrzést a következők alapján:
            //első feladat: 20 pont
            //második feladat: 15 pont
            //harmadik feladat: 25 pont
            //negyedik feladat: 10 pont
            //ötödik feladat: 30 pont 

            //Ha a bekért pontszám nem a nulla és a megfelelő
            //pontszám közé esik, akkor hangjelzés kíséretében
            //írj ki hibaüzenetet, és szakítsd meg a programot.
            //Ezt fent megoldottuk.

            //6. feladat: Légy jó szívű! Add meg a jobb jegyet, ha
            //csak fél pont hiányzik.
            //(Vagy inkább kegyetlen akarsz lenni?:)
            //Fent megoldottuk. 

            //Szorgalmi: Add meg a pontok bekérésénél
            //az összetett feltételeket kétféleképpen:
            //úgy, hogy ne legyen benne tagadás, és
            //úgy, hogy legyen benne egy tagadás.
            //Az első feladat pontszámának bekérésénél megoldottuk. 

            Console.ReadLine();
        }
    }
}

2020.12.04. A szelekció bevezetése - teljes lecke

using System;

namespace szelekcioBevezetese
{

    class Program
    {

        static void Main(string[] args)
        {

            //1.feladat:
            //- Kérd be, hogy hány fok van odakint.
            //- Ha nulla fok alatt van, írd ki, hogy valószínűleg tél van.
            Console.Write("Hány fok van odakint?: ");
            int fok = Convert.ToInt32(Console.ReadLine());

            if (fok < 0) //kifejezés: értékek, és műveletek
                //ez itt egy logikai művelet, a vége vagy igaz, vagy hamis
                Console.WriteLine("Valószínűleg tél van.");
            //ha a kifejezés igaz, kiírja az utasítást
            //ha hamis, ugrik a következő if-hez, vagyis a következő utasításhoz
            if (fok < 0) //ha a feltétel igaz, akkor végrehajtja a blokkban lévő részt
            { //blokkjel
                Console.WriteLine("Valószínűleg tél van.");                
            }
            if (fok < 0) //ha a feltétel igaz, végrehajtja a következő EGY utasítást
                Console.WriteLine("Valószínűleg tél van.");
            //ha a sor nem kezdődne beljebb, csúnya, de működőképes lenne

            //Ez így is jó:
            if (fok < 0) Console.WriteLine("Lehet, hogy esik a hó.");

            //És így is jó:
            if (fok < 0)
            {
                Console.WriteLine("Ha lesz elég hó, megyek síelni.");
                Console.WriteLine("Ha elég hideg lesz, megyek korcsolyázni.");
            }

            //És így is jó:
            if (fok < 0) { Console.WriteLine("Nemsokára jön a Mikulás. Ho-ho-ho-hóóó."); Console.Beep(); Console.Beep(); Console.Beep(); }

       
            //2.feladat:
            //- Kérd be a legrégebbi hardver cég betűszavának
            //első betűjét.            
            //- Ha jó a válasz, írd ki, hogy <Helyes>.
            Console.Write("Írd be a legrégebbi hardver cég betűszavának első betűjét: ");
            char betu = Convert.ToChar(Console.ReadLine());
            if (betu == 'i' || betu == 'I') //== jelentése: egyenlő-e?
            {
                Console.WriteLine("Helyes.");
            }

            
            //3.feladat:
            //- Kérd be, milyen iskolai szünet lesz legközelebb.
            //- Ha jó a válasz, írd ki, hogy eltalálta.

            Console.Write("Írd be, milyen iskolai szünet lesz legközelebb (téli, sí, tavaszi, nyári): ");
            string szunet = Console.ReadLine();
            if (szunet == "téli" || szunet == "TÉLI")
            //if (szunet.ToLower() == "téli" ) //ezt még nem kell tudni
            {
                Console.WriteLine("Eltaláltad.");
            }

            //4.feladat:
            //- Kérd be a felhasználó születési testsúlyát kg-ban.
            //(Tört szám legyen.)
            //- Ha a bekért szám nagyobb 4-nél, írd ki: <Ez igen!>

            Console.Write("Mennyi volt a születési súlyod (kg)?: ");
            double suly = Convert.ToDouble(Console.ReadLine());
            
            if (suly > 4)  //egész számmal hasonlítható a tört
            {
                Console.WriteLine("Ez igen!");
            }

            if (suly == 4)  
            {
                Console.WriteLine("Ez igen! Pont 4 kg.");
            }

            if (suly < 4)  
            {
                Console.WriteLine("Ez kevesebb, mint 4 kg.");
            }

            if (suly >= 4) //ez már a második üzenet a 4, vagy annál nagyobb értékekre
            {
                Console.WriteLine("Ez nagyobb, vagy egyenlő mint 4 kg.");
            }
            //5.feladat:
            //- Írd ki a következőket:
            //"Igaz, hogy szeretsz iskolába járni? Válaszolj angolul!"
            // (A bekéréshez használj logikai változót.)
            //- Ha a válasz true, írd ki: No-no!

            Console.Write("Igaz, hogy szeretsz iskolába járni? Válaszolj (egy szóval) angolul!: ");
            bool log = Convert.ToBoolean(Console.ReadLine());

            if (log == true)
            {
                Console.WriteLine("No-no!");
            }
            if (log == false)
            {
                Console.WriteLine("Azt válaszoltad, hogy nem");
            }


            Console.ReadLine();

        }

    }

}


2024.02.15.-16. Helyettesítés

 Adatbázis: vizsgaremek adatbázisának befejezése teljesen készre, dokumentáció kiegészítése, befejezése. Vizsgaremek felületének megvalósítá...