• Zadání: Zkuste deklarovat pole struktur, které bude obsahovat prvky, které obsahují strukturu Cas. Jednotlivé struktury jsou inicializovány vlastním konstruktorem. Struktura bude obsahovat tři celočíselné datové složky (datový typ int):
    • hodiny – počet hodin
    • minuty – počet minut
    • sekundy – počet sekund

      Konstruktor struktury bude přijímat tři formální parametry: hodiny, minuty, sekundy. Pomocí hodnot těchto parametrů nastavte datové složky struktury Cas. Vytvořte v metodě Main pole struktur poleStruktur obsahující dva prvky struktury Cas vytvořených pomocí zavolání konstruktoru struktury. Inicializujte první prvek (struktury) pole hodnotami: 12, 30, 50 a druhý prvek: 5, 30, 6. Vypište pomocí metod implementovaných ve struktuře VratHodiny, VratMinuty, VratSekundy časové hodnoty u obou prvků typu struktura Cas umístěných v poli

  • Řešení: 
    • Struktura Cas:
//Deklarace datového typu struktura
        struct Cas
        {
            //Deklarace celočíselných datových složek
            private int hodiny, minuty, sekundy;
 
            //Deklarace konstruktoru
            public Cas(int hodiny, int minuty, int sekundy)
            {
                //Přiřazení hodnot celočíselným datovým složkám
                this.hodiny = hodiny;
                this.minuty = minuty;
                this.sekundy = sekundy;
            }
 
            //Deklarace metody ve struktuře - navrací hodnotu datové složky 'hodiny'
            public int VratHodiny()
            {
                //Navrácení hodnoty datové složky
                return this.hodiny;
            }
 
            //Deklarace metody navracející počet minut uložených v datové složce
            public int VratMinuty()
            {
                return this.minuty;
            }
 
            //Deklarace metody navracející počet sekund uložených v datové složce
            public int VratSekundy()
            {
                return this.sekundy;
            }
        }
    • Hlavní program - Main:
static void Main(string[] args)
{
    //Vytvoření pole struktur Cas včetně jejich inicializace
    Cas[] poleStruktur = { new Cas(12, 30, 50), new Cas(5, 30, 6) };
    /* Výpis jednotlivých hodnot v datových složkách první struktury uložené v prvním 
     * prvku pole (index 0) */ 
    Console.WriteLine("První instance času: {0} hodin, {1} minut, {2} sekund", 
        poleStruktur[0].VratHodiny(), poleStruktur[0].VratMinuty(), poleStruktur[0].VratSekundy());
    /* Výpis jednotlivých hodnot v datových složkách druhé struktury uložené ve druhém 
     * prvku pole (index 1) */
    Console.WriteLine("Druhá instance času: {0} hodin, {1} minut, {2} sekund",
        poleStruktur[1].VratHodiny(), poleStruktur[1].VratMinuty(), poleStruktur[1].VratSekundy());
    
    //Čekání na stisk klávesy -> ukončení programu
    Console.ReadKey();
}

  • Výstup programu:

První instance času: 12 hodin, 30 minut, 50 sekund
Druhá instance času: 5 hodin, 30 minut, 6 sekund





Naposledy změněno: čtvrtek, 6. února 2020, 12.16