Cvičení – zápis kódu pro čtení a uložení nových dat poleAnimals

Dokončeno

Nejprve v tomto cvičení vytvoříte smyčky ověření zadávání dat pro jednotlivé charakteristiky domácího mazlíčka a poté uložíte data nového ourAnimals pole. Podrobné úkoly, které jste dokončili během tohoto cvičení, jsou:

  1. Čtení a ověřování druhů: sestavte smyčku a vnitřní strukturu kódu používanou k zadání a ověření druhu domácího mazlíčka.
  2. Vytvoření ID domácího mazlíčka: Napište kód, který používá petCount a název druhu k vytvoření hodnoty PETID.
  3. Čtení a ověření věku: sestavte smyčku a vnitřní strukturu kódu použitou k zadání a ověření věku domácího mazlíčka.
  4. Čtení a ověření fyzického popisu: vytvořte smyčku a kódovou strukturu, která slouží k zadání fyzického popisu domácího mazlíčka.
  5. Číst a ověřovat popis osobnosti: sestavte smyčku a vnitřní strukturu kódu, která slouží k zadání popisu osobnosti domácího mazlíčka.
  6. Přečtěte si a ověřte přezdívku: vytvořte smyčku a vnitřní strukturu kódu, která slouží k zadání přezdívky pro domácího mazlíčka.
  7. Ověřovací test: Proveďte ověřovací testy pro kód, který vyvíjíte v tomto cvičení.

Důležité

Před zahájením tohoto cvičení je nutné dokončit předchozí cvičení v tomto modulu.

Vytvořte smyčku pro čtení a ověřování druhu zvířete

V této úloze vytvoříte smyčku do , která iteruje, dokud uživatel nezadá platný název druhu, buď pes nebo kočka. Znovu použijete zrušitelný řetězec readResult k zachycení Console.ReadLine() vstupu. Znovu použijete také řetězcovou proměnnou animalSpecies , kterou jste použili při generování ukázkových dat. Do aplikace přidáte novou logickou proměnnou s názvem validEntry . Použijete validEntry ve výrazu, který je vyhodnocován jako kritérium pro ukončení smyčky do.

  1. Ujistěte se, že je visual Studio Code otevřený a že je váš soubor Program.cs viditelný v Editoru.

  2. while (anotherPet == "y" && petCount < maxPets) Vyhledejte příkaz a přidejte do horního bloku kódu prázdný řádek kódu.

  3. Na prázdný řádek, který jste vytvořili, zadejte následující kód pro deklaraci validEntry s počáteční hodnotou false:

    bool validEntry = false;
    
    
  4. Na řádku pod deklarací validEntry, vytvořte smyčku do pro zadávání dat o druzích, zadejte následující kód:

    // get species (cat or dog) - string animalSpecies is a required field 
    do
    {
    } while (validEntry == false);
    
    
  5. Do bloku kódu příkazu do vytvořte výzvu k zobrazení a přečtěte si vstup uživatele, zadejte následující kód:

    Console.WriteLine("\n\rEnter 'dog' or 'cat' to begin a new entry");
    readResult = Console.ReadLine();
    
    
  6. Aby byla hodnota readResult nenulová před přiřazením hodnoty readResult k animalSpecies, zadejte následující kód:

    if (readResult != null)
    {
        animalSpecies = readResult.ToLower();
    
    }
    
  7. Na řádku pod přiřazením animalSpecies hodnoty ověřte, že animalSpecies obsahuje platný název druhu, zadejte následující kód:

    if (animalSpecies != "dog" && animalSpecies != "cat")
    {
        validEntry = false;
    }
    else
    {
        validEntry = true;
    }
    
  8. Porovnejte dokončenou smyčku zadávání dat názvu druhu s následujícím kódem:

    // get species (cat or dog) - string animalSpecies is a required field 
    do
    {
        Console.WriteLine("\n\rEnter 'dog' or 'cat' to begin a new entry");
        readResult = Console.ReadLine();
        if (readResult != null)
        {
            animalSpecies = readResult.ToLower();
            if (animalSpecies != "dog" && animalSpecies != "cat")
            {
                //Console.WriteLine($"You entered: {animalSpecies}.");
                validEntry = false;
            }
            else
            {
                validEntry = true;
            }
        }
    } while (validEntry == false);
    
  9. V nabídce Soubor editoru Visual Studio Code vyberte Uložit.

  10. Otevřete integrovaný panel terminálu v editoru Visual Studio Code a zadejte příkaz k sestavení programu.

    Pokud byly nahlášeny nějaké chyby sestavení nebo upozornění, před pokračováním opravte problémy.

Vytvoření hodnoty ID zvířete

V tomto úkolu použijete proměnné animalSpecies a petCount k vytvoření hodnoty, kterou přiřadíte animalID.

  1. Pod blok kódu ve smyčce pro zadávání dat názvu vašeho druhu přidejte prázdný řádek kódu.

  2. Pokud chcete vytvořit a přiřadit animalID hodnotu, zadejte následující kód:

    // build the animal the ID number - for example C1, C2, D3 (for Cat 1, Cat 2, Dog 3)
    animalID = animalSpecies.Substring(0, 1) + (petCount + 1).ToString();
    
    
  3. V nabídce Soubor editoru Visual Studio Code vyberte Uložit.

Vytvořte smyčku pro čtení a ověřování věku mazlíčka

V tomto úkolu vytvoříte smyčku do , která iteruje, dokud uživatel nezadá platné ? celé číslo, které představuje věk domácího mazlíčka v letech. Znovu použijete prázdný řetězec readResult k zachycení Console.ReadLine() vstupu. Znovu použijete také řetězcovou proměnnou animalAge , kterou jste použili při generování ukázkových dat. Pro otestování, zda animalAge řetězec představuje platné celé číslo, použijte validEntry logickou hodnotu. Deklarujete novou celočíselnou proměnnou s názvem petAge pro uložení číselné hodnoty. Opět se využívá Boolean ve výrazu, validEntry který se vyhodnocuje jako ukončovací podmínka pro naši do smyčku.

  1. Přidejte prázdný řádek kódu pod řádek použitý k přiřazení hodnoty k naší animalID proměnné.

  2. Pokud chcete vytvořit smyčku do pro zadávání věkových dat, zadejte následující kód:

    // get the pet's age. can be ? at initial entry. 
    do
    {
    } while (validEntry == false);
    
    
  3. Do bloku kódu příkazu do deklarujte celočíselnou proměnnou s názvem petAge, zadejte následující kód:

    int petAge;
    
    
  4. Na řádku pod deklarací petAge, pro zobrazení výzvy k zadání zprávy a čtení vstupu uživatele, zadejte následující kód:

    Console.WriteLine("Enter the pet's age or enter ? if unknown");
    readResult = Console.ReadLine();
    
    
  5. Aby se před přiřazením hodnoty readResult k readResult zajistilo, že hodnota animalAge není null, zadejte následující kód:

    if (readResult != null)
    {
        animalAge = readResult;
    
    }
    
  6. Na řádku pod přiřazením animalAge hodnoty zadejte následující kód, abyste zkontrolovali, zda uživatel zadal ? před testováním, zda se jedná o platné celé číslo:

    if (animalAge != "?")
    {
        validEntry = int.TryParse(animalAge, out petAge);
    }
    else
    {
        validEntry = true;
    }
    
  7. Porovnejte dokončenou smyčku zadávání věkových dat s následujícím kódem.

    // get the pet's age. can be ? at initial entry.
    do
    {
        int petAge;
        Console.WriteLine("Enter the pet's age or enter ? if unknown");
        readResult = Console.ReadLine();
        if (readResult != null)
        {
            animalAge = readResult;
            if (animalAge != "?")
            {
                validEntry = int.TryParse(animalAge, out petAge);
            }
            else
            {
                validEntry = true;
            }
        }
    } while (validEntry == false);
    
  8. V nabídce Soubor editoru Visual Studio Code vyberte Uložit.

  9. Otevřete integrovaný panel terminálu v editoru Visual Studio Code a zadejte příkaz k sestavení programu.

    Pokud byly nahlášeny nějaké chyby sestavení nebo upozornění, před pokračováním opravte problémy.

Vytvořte smyčku pro čtení a ověření fyzického popisu mazlíčka

V této úloze vytvoříte smyčku do , která iteruje, dokud uživatel nezadá řetězcovou hodnotu, která představuje fyzický popis domácího mazlíčka. Znovu použijete prázdný řetězec readResult k zachycení Console.ReadLine() vstupu. Znovu použijete také řetězcovou proměnnou animalPhysicalDescription , kterou jste použili při generování ukázkových dat. Použijete hodnotu přiřazenou animalPhysicalDescription ve výrazu, který je vyhodnocován jako kritérium ukončení pro naši do smyčku.

  1. Pod blok kódu ve smyčce zadávání dat stáří přidejte prázdný řádek kódu.

  2. Pokud chcete vytvořit smyčku do pro zadávání dat fyzického popisu, zadejte následující kód:

    // get a description of the pet's physical appearance/condition - animalPhysicalDescription can be blank.
    do
    {
    } while (animalPhysicalDescription == "");
    
    
  3. Do bloku kódu příkazu do vytvořte výzvu k zobrazení a přečtěte si vstup uživatele, zadejte následující kód:

    Console.WriteLine("Enter a physical description of the pet (size, color, gender, weight, housebroken)");
    readResult = Console.ReadLine();
    
    
  4. Aby se před přiřazením hodnoty readResult k readResult zajistilo, že hodnota animalPhysicalDescription není null, zadejte následující kód:

    if (readResult != null)
    {
        animalPhysicalDescription = readResult.ToLower();
    
    }
    
  5. Pokud chcete přiřadit hodnotu "tbd" k animalPhysicalDescription po zadání hodnoty "", zadejte následující kód:

    if (animalPhysicalDescription == "")
    {
        animalPhysicalDescription = "tbd";
    }
    
  6. Porovnejte dokončený cyklus zadávání dat k fyzickému popisu s následujícím kódem:

    // get a description of the pet's physical appearance/condition - animalPhysicalDescription can be blank.
    do
    {
        Console.WriteLine("Enter a physical description of the pet (size, color, gender, weight, housebroken)");
        readResult = Console.ReadLine();
        if (readResult != null)
        {
            animalPhysicalDescription = readResult.ToLower();
            if (animalPhysicalDescription == "")
            {
                animalPhysicalDescription = "tbd";
            }
        }
    } while (animalPhysicalDescription == "");
    
  7. V nabídce Soubor editoru Visual Studio Code vyberte Uložit.

  8. Otevřete integrovaný panel terminálu v editoru Visual Studio Code a zadejte příkaz k sestavení programu.

    Pokud byly nahlášeny nějaké chyby sestavení nebo upozornění, před pokračováním opravte problémy.

Vytvořte smyčku pro čtení a ověření popisu osobnosti domácího mazlíčka.

V této úloze vytvoříte smyčku do , která iteruje, dokud uživatel nezadá řetězcovou hodnotu, která představuje popis osobnosti domácího mazlíčka. Znovu použijete prázdný řetězec readResult k zachycení Console.ReadLine() vstupu. Znovu použijete také řetězcovou proměnnou animalPersonalityDescription , kterou jste použili při generování ukázkových dat. Použijete hodnotu přiřazenou animalPersonalityDescription ve výrazu, který je vyhodnocován jako kritérium ukončení pro naši do smyčku.

  1. Pod blok kódu ve smyčce zadávání dat fyzického popisu přidejte prázdný řádek kódu.

  2. Pokud chcete vytvořit smyčku do pro zadávání dat popisu osobnosti, zadejte následující kód:

    // get a description of the pet's personality - animalPersonalityDescription can be blank.
    do
    {
    } while (animalPersonalityDescription == "");
    
    
  3. Do bloku kódu příkazu do vytvořte výzvu k zobrazení a přečtěte si vstup uživatele, zadejte následující kód:

    Console.WriteLine("Enter a description of the pet's personality (likes or dislikes, tricks, energy level)");
    readResult = Console.ReadLine();
    
    
  4. Aby se před přiřazením hodnoty readResult k readResult zajistilo, že hodnota animalPersonalityDescription není null, zadejte následující kód:

    if (readResult != null)
    {
        animalPersonalityDescription = readResult.ToLower();
    
    }
    
  5. Pokud chcete přiřadit hodnotu "tbd" k animalPersonalityDescription po zadání hodnoty "", zadejte následující kód:

    if (animalPersonalityDescription == "")
    {
        animalPersonalityDescription = "tbd";
    }
    
  6. Porovnejte dokončenou smyčku zadávání dat s popisem osobnosti s následujícím kódem:

    // get a description of the pet's personality - animalPersonalityDescription can be blank.
    do
    {
        Console.WriteLine("Enter a description of the pet's personality (likes or dislikes, tricks, energy level)");
        readResult = Console.ReadLine();
        if (readResult != null)
        {
            animalPersonalityDescription = readResult.ToLower();
            if (animalPersonalityDescription == "")
            {
                animalPersonalityDescription = "tbd";
            }
        }
    } while (animalPersonalityDescription == "");
    
  7. V nabídce Soubor editoru Visual Studio Code vyberte Uložit.

  8. Otevřete integrovaný panel terminálu v editoru Visual Studio Code a zadejte příkaz k sestavení programu.

    Pokud byly nahlášeny nějaké chyby sestavení nebo upozornění, před pokračováním opravte problémy.

Vytvořte smyčku pro čtení a ověření přezdívky mazlíčka.

V této úloze vytvoříte smyčku do , která iteruje, dokud uživatel nezadá řetězcovou hodnotu, která představuje přezdívku pro domácího mazlíčka. Znovu použijete prázdný řetězec readResult k zachycení Console.ReadLine() vstupu. Znovu použijete také řetězcovou proměnnou animalNickname , kterou jste použili při generování ukázkových dat. Použijete hodnotu přiřazenou animalNickname ve výrazu, který je vyhodnocován jako kritérium ukončení pro naši do smyčku.

  1. Přidejte prázdný řádek kódu pod blok kódu smyčky zadávání dat popisu osobnosti.

  2. Pokud chcete vytvořit smyčku do pro zadávání dat popisu osobnosti, zadejte následující kód:

    // get the pet's nickname. animalNickname can be blank.
    do
    {
    } while (animalNickname == "");
    
    
  3. Do bloku kódu příkazu do vytvořte výzvu k zobrazení a přečtěte si vstup uživatele, zadejte následující kód:

    Console.WriteLine("Enter a nickname for the pet");
    readResult = Console.ReadLine();
    
    
  4. Aby se před přiřazením hodnoty readResult k readResult zajistilo, že hodnota animalNickname není null, zadejte následující kód:

    if (readResult != null)
    {
        animalNickname = readResult.ToLower();
    
    }
    
  5. Pokud chcete přiřadit hodnotu "tbd" k animalNickname po zadání hodnoty "", zadejte následující kód:

    if (animalNickname == "")
    {
        animalNickname = "tbd";
    }
    
  6. Porovnejte dokončenou smyčku zadávání přezdívky s následujícím kódem:

    // get the pet's nickname. animalNickname can be blank.
    do
    {
        Console.WriteLine("Enter a nickname for the pet");
        readResult = Console.ReadLine();
        if (readResult != null)
        {
            animalNickname = readResult.ToLower();
            if (animalNickname == "")
            {
                animalNickname = "tbd";
            }
        }
    } while (animalNickname == "");
    
  7. V nabídce Soubor editoru Visual Studio Code vyberte Uložit.

  8. Otevřete integrovaný panel terminálu v editoru Visual Studio Code a zadejte příkaz k sestavení programu.

    Pokud byly nahlášeny nějaké chyby sestavení nebo upozornění, před pokračováním opravte problémy.

Uložení informací o novém domácím mazlíčku

V tomto úkolu uložíte hodnoty zadané pro vlastnosti domácího mazlíčka ourAnimals do pole.

  1. Pod blok kódu smyčky pro zadávání dat týkajících se přezdívky přidejte prázdný řádek kódu.

  2. Pokud chcete uložit hodnoty dat zadané uživatelem, zadejte následující kód:

    // store the pet information in the ourAnimals array (zero based)
    ourAnimals[petCount, 0] = "ID #: " + animalID;
    ourAnimals[petCount, 1] = "Species: " + animalSpecies;
    ourAnimals[petCount, 2] = "Age: " + animalAge;
    ourAnimals[petCount, 3] = "Nickname: " + animalNickname;
    ourAnimals[petCount, 4] = "Physical description: " + animalPhysicalDescription;
    ourAnimals[petCount, 5] = "Personality: " + animalPersonalityDescription;
    
  3. V nabídce Soubor editoru Visual Studio Code vyberte Uložit.

  4. Otevřete integrovaný panel terminálu v editoru Visual Studio Code a zadejte příkaz k sestavení programu.

    Pokud byly nahlášeny nějaké chyby sestavení nebo upozornění, před pokračováním opravte problémy.

Zkontroluj svou práci

V této úloze spustíte aplikaci z integrovaného terminálu a ověříte, že zadávání dat domácích mazlíčků funguje správně.

  1. V případě potřeby otevřete integrovaný panel terminálu editoru Visual Studio Code.

  2. Na příkazovém řádku terminálu zadejte příkaz dotnet run.

  3. Na příkazovém řádku terminálu zadejte 2.

  4. Ověřte, že se panel terminálu aktualizoval, aby zobrazil následující výstup:

    We currently have 4 pets that need homes. We can manage 4 more.
    
    Enter 'dog' or 'cat' to begin a new entry
    
  5. Na příkazovém řádku terminálu zadejte následující hodnoty a ověřte, že se zobrazí každý další řádek:

    • Na příkazovémEnter 'dog' or 'cat' to begin a new entry řádku zadejte dog.
    • Na příkazovém Enter the pet's age or enter ? if unknown řádku zadejte ?
    • Na příkazovém Enter a physical description of the pet (size, color, gender, weight, housebroken) řádku stiskněte klávesu Enter.
    • Na příkazovém Enter a description of the pet's personality (likes or dislikes, tricks, energy level) řádku stiskněte klávesu Enter.
    • Na příkazovém Enter a nickname for the pet řádku stiskněte klávesu Enter.

    Panel terminálu by se měl aktualizovat následujícím způsobem:

    Enter 'dog' or 'cat' to begin a new entry
    dog
    Enter the pet's age or enter ? if unknown
    ?
    Enter a physical description of the pet (size, color, gender, weight, housebroken)
    
    Enter a description of the pet's personality (likes or dislikes, tricks, energy level)
    
    Enter a nickname for the pet
    
    Do you want to enter info for another pet (y/n)
    
  6. Na příkazovém řádku terminálu zadejte n

  7. Ověřte, že se panel terminálu aktualizoval, aby se zobrazily možnosti hlavní nabídky.

  8. Na příkazovém řádku terminálu zadejte 1.

  9. Ověřte, že se panel terminálu aktualizoval, aby zobrazil následující výstup:

    ID #: d1
    Species: dog
    Age: 2
    Nickname: lola
    Physical description: medium sized cream colored female golden retriever weighing about 65 pounds. housebroken.
    Personality: loves to have her belly rubbed and likes to chase her tail. gives lots of kisses.
    
    ID #: d2
    Species: dog
    Age: 9
    Nickname: loki
    Physical description: large reddish-brown male golden retriever weighing about 85 pounds. housebroken.
    Personality: loves to have his ears rubbed when he greets you at the door, or at any time! loves to lean-in and give doggy hugs.
    
    ID #: c3
    Species: cat
    Age: 1
    Nickname: Puss
    Physical description: small white female weighing about 8 pounds. litter box trained.
    Personality: friendly
    
    ID #: c4
    Species: cat
    Age: ?
    Nickname:
    Physical description:
    Personality:
    
    ID #: d5
    Species: dog
    Age: ?
    Nickname: tbd
    Physical description: tbd
    Personality: tbd
    Press the Enter key to continue
    

    Pokud se nově přidané informace o domácích zvířatech nezobrazují, zkontrolujte, jestli jste zahrnuli řádky kódu pro uložení dat do pole ourAnimals, a zkontrolujte, jestli jste zahrnuli řádek kódu pro vytvoření petID.

  10. Ověřte, že můžete vytvořit další popisy zvířat pro psy a kočky a že se vlastnosti zvířat ukládají do ourAnimals pole.

  11. Ukončete aplikaci a zavřete panel Terminálu.

Gratulujeme k úspěšnému dokončení tohoto řízeného projektu! Vytvořili jste aplikaci, která kombinuje příkazy výběru a iterace k dosažení cílů návrhu aplikace. Vaše aplikace zahrnuje více než 300 řádků a provádí úlohy, které můžete najít v profesionální aplikaci. Dokončení tohoto projektu představuje významné úspěchy. Jen tak dál!