2020. október 19., hétfő

2020.10.19. Struktúra - ismétlés

1. példa:


        public struct autok
        {
            public int ar; //ft
            public int motor; //cm3
            public int szemely; //fő
            public int teljesitmeny; //lóerő
        }
        static void Main(string[] args)
        {
            autok auto1 = new autok(); 
            auto1.ar = 6000000;
            auto1.motor = 1600;
            auto1.szemely = 5;
            auto1.teljesitmeny = 150;
--------------------------------------------------
Magyarázat:
publicmódosítószó, ami befolyásolja az adott elem láthatóságát. Mostmár nem mindent a Main-be írunk. Amit nem oda írunk, annál szabályozhatjuk, mennyire legyen nyilvános. A public azt jelenti, hogy mindenhol látható. (A private pl. rejtettet jelent majd.)
structa 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.
autoka 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.
autok auto1 = new autok();  Itt definiálunk egy autok típusú változót auto1 néven, és a new kulcsszóval helyet foglalunk neki a memóriában az autok() 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.
--------------------------------------------------


2. példa

 namespace struktura

{

    class Program

    {

        public struct auto

        {

            public string gyarto;

            public double motor; //köbcenti

            public int ulesek; //ülések száma

            public bool akcio; //akciós-e

        }

 

        static auto[] autok = new auto[3];

 

        static void bekeres()

        {

            for (int i = 0; i < autok.Length; i++)

            {

                Console.Write("Kérem az {0}. autó gyártóját: ",i+1);

                autok[i].gyarto = Console.ReadLine();

                Console.Write("Kérem az {0}. autó motor térfogatát: ",i+1);

                autok[i].motor = Convert.ToDouble(Console.ReadLine());

                Console.Write("Kérem az {0}. autó üléseinek számát: ",i+1);

                autok[i].ulesek = Convert.ToInt32(Console.ReadLine());

                Console.Write("Adja meg, hogy a(z) {0}. autó akciós-e (true/false)?: ",i+1);

                autok[i].akcio = Convert.ToBoolean(Console.ReadLine());

            }

        }

 

        static void kiiras()

        {

            for (int i = 0; i < autok.Length; i++)

            {

                Console.WriteLine("{0} autó", i+1);

                Console.WriteLine(autok[i].gyarto);

                Console.WriteLine(autok[i].motor);

                Console.WriteLine(autok[i].ulesek);

                Console.WriteLine(autok[i].akcio);

                Console.WriteLine();

            }

        }

 

        static void Main(string[] args)

        {

            bekeres();

            kiiras();

            Console.ReadLine();

        }

    }

}

Nincsenek megjegyzések:

Megjegyzés küldése