2021.02.05.-08. Egymásba ágyazott kétágú szelekció gyakorlása: Dolgozat pontozás

02.08.: a legvégére beillesztett részt te is illeszd be.

02.05.  Házi feladat: a kész megoldással egészítsd ki a házidat, be kell gépelni, ne használj vágólapot. Utána teszteld.

namespace dolgozatPontozas
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("A dolgozatban elérhető max. pontszám: 100");
            //1.Ki akarod számolni, hogy a társad hányast kapott
            //a dolgozatára. Kérd be az 5 feladat pontszámát,
            //végül add össze őket.
            //Első megoldás:
            //Egyenként tároljuk őket változókban.
            Console.WriteLine("Add meg az 1. feladatban elért pontszámodat!");
            int feladat1 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Add meg az 2. feladatban elért pontszámodat!");
            int feladat2 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Add meg az 3. feladatban elért pontszámodat!");
            int feladat3 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Add meg az 4. feladatban elért pontszámodat!");
            int feladat4 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Add meg az 5. feladatban elért pontszámodat!");
            int feladat5 = Convert.ToInt32(Console.ReadLine());
            int osszpont = feladat1 + feladat2 + feladat3 + feladat4 + feladat5;
            //Második megoldás:
            //Mindig csak az aktuális pontszámot tároljuk addig, amíg
            //hozzá nem adtuk a többihez.
            //2. Írjuk ki, hogy a pontszám alapján a user hányast kapott.
            //Alkalmazzunk egymást kizáró egyágú szelekciókat.
            //Az első megoldáshoz ezeket az intervallumokat használjuk
            //a feltételekben:0-60,61-70,71-80,81-90,91-100
            //A második megoldáshoz ezeket az intervallumokat használjuk
            //a feltételekben:0-60,60-70,70-80,80-90,90-100
            //A harmadik megoldáshoz alkalmazzunk egymásba ágyazott szelekciókat.
            //Első megoldás:
            //Második megoldás:
            //Második megoldás másképp megjelenítve:
            //Harmadik megoldás:
            Console.ReadLine();
        }
    }
}
namespace dolgozatPontozas
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("A dolgozatban elérhető max. pontszám: 100");
            //1.Ki akarod számolni, hogy a társad hányast kapott
            //a dolgozatára. Kérd be az 5 feladat pontszámát,
            //végül add össze őket.
            //Első megoldás:
            //Egyenként tároljuk őket változókban.
            Console.WriteLine("Add meg az 1. feladatban elért pontszámodat!");
            int feladat1 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Add meg az 2. feladatban elért pontszámodat!");
            int feladat2 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Add meg az 3. feladatban elért pontszámodat!");
            int feladat3 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Add meg az 4. feladatban elért pontszámodat!");
            int feladat4 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Add meg az 5. feladatban elért pontszámodat!");
            int feladat5 = Convert.ToInt32(Console.ReadLine());
            int osszpont = feladat1 + feladat2 + feladat3 + feladat4 + feladat5;
            Console.WriteLine("Összpontszámod: {0} ", osszpont);
            //Második megoldás:
            //Mindig csak az aktuális pontszámot tároljuk addig, amíg
            //hozzá nem adtuk a többihez.
            osszpont = 0;
            Console.WriteLine("Add meg az 1. feladatban elért pontszámodat!");
            int pontszam = Convert.ToInt32(Console.ReadLine());
            osszpont = osszpont + pontszam;
            Console.WriteLine("Add meg az 2. feladatban elért pontszámodat!");
            pontszam = Convert.ToInt32(Console.ReadLine());
            osszpont = osszpont + pontszam;
            Console.WriteLine("Add meg az 3. feladatban elért pontszámodat!");
            pontszam = Convert.ToInt32(Console.ReadLine());
            osszpont = osszpont + pontszam;
            Console.WriteLine("Add meg az 4. feladatban elért pontszámodat!");
            pontszam = Convert.ToInt32(Console.ReadLine());
            osszpont = osszpont + pontszam;
            Console.WriteLine("Add meg az 5. feladatban elért pontszámodat!");
            pontszam = Convert.ToInt32(Console.ReadLine());
            osszpont = osszpont + pontszam;
            Console.WriteLine("Összpontszámod: {0} ", osszpont);
//másik megoldás:
sorszam = 1;
Console.WriteLine("Add meg a(z) {0}. feladatban elért pontszámodat!", sorszam);
sorszam++;
feladat1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Add meg a(z) {0}. feladatban elért pontszámodat!", sorszam);
sorszam++;
feladat2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Add meg a(z) {0}. feladatban elért pontszámodat!", sorszam);
sorszam++;
feladat3 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Add meg a(z) {0}. feladatban elért pontszámodat!", sorszam);
sorszam++;
feladat4 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Add meg a(z) {0}. feladatban elért pontszámodat!", sorszam);
sorszam++;
feladat5 = Convert.ToInt32(Console.ReadLine());
osszpont = feladat1 + feladat2 + feladat3 + feladat4 + feladat5;
Console.WriteLine("Összpontszámod: {0} ", osszpont);
            //2. Írjuk ki, hogy a pontszám alapján a user hányast kapott.
            //Az első megoldáshoz ezeket az intervallumokat használjuk
            //a feltételekben:0-60,61-70,71-80,81-90,91-100
            //A második megoldáshoz ezeket az intervallumokat használjuk
            //a feltételekben:0-60,60-70,70-80,80-90,90-100
            //A harmadik megoldáshoz alkalmazzunk egymásba ágyazott szelekciókat.
            //Első megoldás:
            if (osszpont <= 60)
                Console.WriteLine("Te egyest kaptál!");
            if (osszpont >= 61 && osszpont <= 70)
                Console.WriteLine("Te kettest kaptál!");
            if (osszpont >= 71 && osszpont <= 80)
                Console.WriteLine("Te hármast kaptál!");
            if (osszpont >= 81 && osszpont <= 90)
                Console.WriteLine("Te négyest kaptál!");
            if (osszpont >= 91 && osszpont <= 100)
                Console.WriteLine("Te ötöst kaptál! Gratulálok!");
            //Második megoldás:
            if (osszpont <= 60)
                Console.WriteLine("Te egyest kaptál!");
            if (osszpont > 60 && osszpont <= 70)
                Console.WriteLine("Te kettest kaptál!");
            if (osszpont > 70 && osszpont <= 80)
                Console.WriteLine("Te hármast kaptál!");
            if (osszpont > 80 && osszpont <= 90)
                Console.WriteLine("Te négyest kaptál!");
            if (osszpont > 90 && osszpont <= 100)
                Console.WriteLine("Te ötöst kaptál! Gratulálok!");
            //Második megoldás másképp megjelenítve:
            if (osszpont <= 60) Console.WriteLine("Te egyest kaptál!");
            if (osszpont > 60 && osszpont <= 70) Console.WriteLine("Te kettest kaptál!");
            if (osszpont > 70 && osszpont <= 80) Console.WriteLine("Te hármast kaptál!");
            if (osszpont > 80 && osszpont <= 90) Console.WriteLine("Te négyest kaptál!");
            if (osszpont > 90 && osszpont <= 100) Console.WriteLine("Te ötöst kaptál! Gratulálok!");
            //Harmadik megoldás:
            if (osszpont < 0)
                Console.WriteLine("A pontszam nem lehet negatív!");
            else
                if (osszpont >= 0 && osszpont <= 60)
                    Console.WriteLine("Te egyest kaptál!");
                else
                    if (osszpont <= 70)
                        Console.WriteLine("Te kettest kaptál!");
                    else
                        if (osszpont <= 80)
                            Console.WriteLine("Te hármast kaptál!");
                        else
                            if (osszpont <= 90)
                                Console.WriteLine("Te négyest kaptál!");
                            else
                                if (osszpont <= 100)
                                    Console.WriteLine("Te ötöst kaptál! Gratulálok!");
                                else
                                    Console.WriteLine("Rossz pontszám! (100 fölötti)");
 
//másik megoldás:
if (osszpont < 0)
            {
                Console.WriteLine("A pontszam nem lehet negatív!");
            }
            else
            {
                if (osszpont >= 0 && osszpont <= 60)
                {
                    Console.WriteLine("Te egyest kaptál!");
                }
                else
                {
                    if (osszpont <= 70)
                    {
                        Console.WriteLine("Te kettest kaptál!");
                    }
                    else
                    {
                        if (osszpont <= 80)
                        {
                            Console.WriteLine("Te hármast kaptál!");
                        }
                        else
                        {
                            if (osszpont <= 90)
                            {
                                Console.WriteLine("Te négyest kaptál!");
                            }
                            else
                            {
                                if (osszpont <= 100)
                                {
                                    Console.WriteLine("Te ötöst kaptál! Gratulálok!");
                                }
                                else
                                {
                                    Console.WriteLine("Rossz pontszám! (100 fölötti)");
                                }
                            }
                        }
                    }
                }
            }           
Console.ReadLine();
        }
    }
}

2021.02.04. Egymásba ágyazott szelekció bevezetés

 


            // 1. feladat:

            //- Kérj be egy egész számot.

 

            //- Vizsgáld meg, hogy osztható-e 5-tel.

            //- Ha osztható 5-tel, vizsgáld meg, hogy osztható-e kettővel. Ha igen, írd ki, hogy akkor osztható 10-zel is.

        //- Ha nem volt osztható 5-tel, akkor írd ki, hogy nem vizsgálod a kettővel oszthatóságot.

 

            //2. feladat:

            //- Kérd be, hogy a tanuló gimis, vagy szakgimis.

 

            //- Ha szakgimis, kérd be az évfolyamát is.

            //- Ha évfolyamként azt adta meg, hogy 9, akkor kérdezd meg, hogy infós, vagy tesis.

            //- Ha kilencedikes és infós, írd ki, hogy most programozás órája lesz.

 

            //- Ha kilencedikes és tesis, írd ki, hogy most éppen tesi órája lesz.

 

Tanári megoldás:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace egymasbaAgyazott

{

    class Program

    {

        static void Main(string[] args)

        {

            // 1. feladat:

            //- Kérj be egy egész számot.

            Console.WriteLine("Kérek egy egész számot!");

            int szam = Convert.ToInt32(Console.ReadLine());

            //- Vizsgáld meg, hogy osztható-e 5-tel.

            if (szam % 5 == 0) //"igaz" ág

            { //blokkjel(pár), ezen belül végrehajtódik minden utasítás, ha a feltétel igaz

                Console.WriteLine("A szám osztható 5-tel, vizsgálom a kettővel való oszthatóságot.");

 

                if (szam % 2 == 0)

                {

                    Console.WriteLine("A szám osztható kettővel.");

                    Console.WriteLine("A szám osztható tízzel is.");

                }

                else

                {

                    Console.WriteLine("A szám nem osztható kettővel.");

                }

            }

            else // "hamis" ág

            {

                Console.WriteLine("A szám nem osztható 5-tel, nem vizsgálom a kettővel való oszthatóságot.");

            }

            //- Ha osztható 5-tel, vizsgáld meg, hogy osztható-e kettővel. Ha igen, írd ki, hogy akkor osztható 10-zel is.

            //- Ha nem volt osztható 5-tel, akkor írd ki, hogy nem vizsgálod a kettővel oszthatóságot.

 

 

 

            //2. feladat:

            //- Kérd be, hogy a tanuló gimis, vagy szakgimis.

            //- Ha szakgimis, kérd be az évfolyamát is.

            //- Ha évfolyamként azt adta meg, hogy 9, akkor kérdezd meg, hogy infós, vagy tesis.

            //- Ha kilencedikes és infós, írd ki, hogy most programozás órája lesz.

            //- Ha kilencedikes és tesis, írd ki, hogy most tesi órája lesz.

 

            Console.Write("Válassz: gimis, vagy szakgimis vagy? ");

            string szak = Console.ReadLine();

            if (szak == "gimis")

            {

                Console.WriteLine("Köszönjük, nem kérünk további adatokat.");

            }

            else

            {

                if (szak == "szakgimis")

                {

                    Console.Write("Kérem az évfolyamodat:");

                    string evfolyam = Console.ReadLine();

                    if (evfolyam == "9")

                    {

                        Console.WriteLine("Infós, vagy tesis vagy?");

                        string szakirany = Console.ReadLine();

                        if (szakirany == "infós")

                        {

                            Console.WriteLine("Programozás órád van.");

                        }

                        else

                        {

                            Console.WriteLine("Tesi órád van.");

                        }

                    }

                    else

                    {

                        Console.WriteLine("Köszönjük, további szép napot!");

                    }

                }

                else

                {

                    Console.WriteLine("Hiba!");

                }

 

            }

            Console.ReadLine();

        }

    }

}

 

Második megoldás, kevesebb blokkjellel:

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace egymasbaAgyazott10b1

{

    class Program

    {

        static void Main(string[] args)

        {

            // 1. feladat:

            //- Kérj be egy egész számot.

            Console.WriteLine("Kérek egy egész számot!");

            int szam = Convert.ToInt32(Console.ReadLine());

            //- Vizsgáld meg, hogy osztható-e 5-tel.

            if (szam % 5 == 0) //"igaz" ág

            { //blokkjel(pár), ezen belül végrehajtódik minden utasítás, ha a feltétel igaz

                Console.WriteLine("A szám osztható 5-tel, vizsgálom a kettővel való oszthatóságot.");

 

                if (szam % 2 == 0)

                {

                    Console.WriteLine("A szám osztható kettővel.");

                    Console.WriteLine("A szám osztható tízzel is.");

                }

                else     

                    Console.WriteLine("A szám nem osztható kettővel.");          

            }

            else // "hamis" ág

                Console.WriteLine("A szám nem osztható 5-tel, nem vizsgálom a kettővel való oszthatóságot.");

          

            //- Ha osztható 5-tel, vizsgáld meg, hogy osztható-e kettővel. Ha igen, írd ki, hogy akkor osztható 10-zel is.

            //- Ha nem volt osztható 5-tel, akkor írd ki, hogy nem vizsgálod a kettővel oszthatóságot.

 

 

 

            //2. feladat:

            //- Kérd be, hogy a tanuló gimis, vagy szakgimis.

            //- Ha szakgimis, kérd be az évfolyamát is.

            //- Ha évfolyamként azt adta meg, hogy 9, akkor kérdezd meg, hogy infós, vagy tesis.

            //- Ha kilencedikes és infós, írd ki, hogy most programozás órája lesz.

            //- Ha kilencedikes és tesis, írd ki, hogy most tesi órája lesz.

 

            Console.Write("Válassz: gimis, vagy szakgimis vagy? ");

            string szak = Console.ReadLine();

            if (szak == "gimis")           

                Console.WriteLine("Köszönjük, nem kérünk további adatokat.");           

            else

            {

                if (szak == "szakgimis")

                {

                    Console.Write("Kérem az évfolyamodat:");

                    string evfolyam = Console.ReadLine();

                    if (evfolyam == "9")

                    {

                        Console.WriteLine("Infós, vagy tesis vagy?");

                        string szakirany = Console.ReadLine();

                        if (szakirany == "infós")                       

                            Console.WriteLine("Programozás órád lesz.");                       

                        else                       

                            Console.WriteLine("Tesi órád lesz.");                       

                    }

                    else                    

                        Console.WriteLine("Köszönjük, további szép napot!");                   

                }

                else               

                    Console.WriteLine("Hiba!");               

            }

            Console.ReadLine();

        }

    }

}


2023.04.26. Javító feladatsor