Cvičení – splnění výzvy pomocí switch příkazů

Dokončeno

Programovací výzvy posílí to, co jste se naučili, a také vám pomohou získat jistotu, než budete pokračovat.

Výzva: Převod na příkazy switch

V tomto úkolu přepíšete if-elseif-else konstrukci do switch příkazu. Tato výzva by vám měla pomoct vidět silné/slabé stránky switch příkazu v porovnání s konstrukcí if-elseif-else. Hodně zdaru.

Výzva kódu: přepsání příkazu if-elseif-else pomocí příkazu switch

Začnete kódem, který používá if-elseif-else konstruktor k vyhodnocení součástí skladové položky produktu. Skladová položka (Skladová jednotka) je naformátovaná pomocí tří kódovaných hodnot: <product #>-<2-letter color code>-<size code>. Například hodnota skladové položky 01-MN-L odpovídá (mikina)-(vínová)-(velká) a kód vypíše popis, který se zobrazí jako "Produkt: Velká vínová mikina".

Vaším úkolem je převést if kód příkazu na switch příkaz, který dosáhne stejného výsledku jako počáteční kód.

  1. Ujistěte se, že máte v editoru Visual Studio Code otevřený prázdný soubor Program.cs.

    V případě potřeby otevřete Visual Studio Code a pak následujícím postupem připravte soubor Program.cs v Editoru:

    1. V nabídce Soubor vyberte Otevřít složku.

    2. Pomocí dialogového okna Otevřít složku přejděte na složku CsharpProjects a otevřete ji.

    3. Na panelu Průzkumník editoru Visual Studio Code vyberte Program.cs.

    4. V nabídce Výběru editoru Visual Studio Code vyberte Vybrat vše a stiskněte klávesu Delete.

  2. Do editoru visual studio Code zadejte následující kód:

    // SKU = Stock Keeping Unit. 
    // SKU value format: <product #>-<2-letter color code>-<size code>
    string sku = "01-MN-L";
    
    string[] product = sku.Split('-');
    
    string type = "";
    string color = "";
    string size = "";
    
    if (product[0] == "01")
    {
        type = "Sweat shirt";
    } else if (product[0] == "02")
    {
        type = "T-Shirt";
    } else if (product[0] == "03")
    {
        type = "Sweat pants";
    }
    else
    {
        type = "Other";
    }
    
    if (product[1] == "BL")
    {
        color = "Black";
    } else if (product[1] == "MN")
    {
        color = "Maroon";
    } else
    {
        color = "White";
    }
    
    if (product[2] == "S")
    {
        size = "Small";
    } else if (product[2] == "M")
    {
        size = "Medium";
    } else if (product[2] == "L")
    {
        size = "Large";
    } else
    {
        size = "One Size Fits All";
    }
    
    Console.WriteLine($"Product: {size} {color} {type}");
    
  3. Aktualizujte kód tak, aby místo konstruktoru switch používal if-elseif-else příkaz.

  4. Ověřte, že se váš výstup nezměnil.

    Bez ohledu na to, jak to uděláte, by měl váš kód vytvořit následující výstup:

    Product: Large Maroon Sweat shirt
    

Ať už si nevíte rady a potřebujete nahlédnout do řešení, nebo jste úkol úspěšně dokončili, pokračujte a podívejte se na řešení tohoto úkolu.