Gyakorlat – Írj kódot az új ourAnimals tömb adatainak olvasásához és mentéséhez.

Befejezett

Ebben a gyakorlatban az egyes kisállat-jellemzők adatbevitel-ellenőrzési ciklusait fejleszti ki, majd tárolja az új ourAnimals tömbadatokat. A gyakorlat során elvégzett részletes feladatok a következők:

  1. A fajok olvasása és ellenőrzése: hozzon létre egy hurkot és a belső kódstruktúrát a fajok bevitelére és ellenőrzésére.
  2. Kisállat-azonosító létrehozása: írja meg a petCount-ot és a fajnevet használó kódot a petID-érték létrehozásához.
  3. Az életkor olvasása és ellenőrzése: hozzon létre egy hurkot és a belső kódstruktúrát, amellyel beírhatja és ellenőrizheti a kisállat korát.
  4. Olvassa el és ellenőrizze a fizikai leírást: hozzon létre egy hurkot és a belső kódstruktúrát, amellyel megadhatja a kisállat fizikai leírását.
  5. Olvassa el és ellenőrizze a személyiség leírását: hozzon létre egy hurkot és a belső kódstruktúrát, amellyel megadhatja a kisállat személyiségének leírását.
  6. Becenév olvasása és ellenőrzése: hozzon létre egy hurkot és a belső kódstruktúrát, amellyel megadhatja a kisállat becenevét.
  7. Ellenőrző teszt: az ebben a gyakorlatban kifejlesztett kód ellenőrző tesztjeinek elvégzése.

Fontos

A gyakorlat megkezdése előtt el kell végeznie az előző gyakorlatot ebben a modulban.

Hurok létrehozása az állatfaj olvasásához és ellenőrzéséhez

Ebben a feladatban létrehoz egy do hurkot, amely addig iterál, amíg a felhasználó meg nem ad egy érvényes fajnevet, akár kutya , akár macska. Az érvényteleníthető sztringet readResult újrahasználja a Console.ReadLine() bemenet rögzítéséhez. A mintaadatok létrehozásakor használt sztringváltozót is újra felhasználhatja animalSpecies . Az alkalmazásához hozzáad egy új logikai változót, amelynek neve validEntry. A validEntry kifejezést egy olyan kifejezésben használja, amelyet a do ciklus kilépési feltételeként értékelnek ki.

  1. Győződjön meg arról, hogy a Visual Studio Code meg van nyitva, és hogy a Program.cs fájl látható legyen a Szerkesztőben.

  2. Keresse meg az utasítást while (anotherPet == "y" && petCount < maxPets) , majd adjon hozzá egy üres kódsort a felső kódblokkhoz.

  3. A létrehozott üres kódsorba a következő kód beírásával deklarálhatja a(z) validEntry változót false kezdeti értékkel:

    bool validEntry = false;
    
    
  4. A deklaráció validEntryalatti sorban adja meg a következő kódot, hogy létrehozhasson egy hurkot do a fajok adatbeviteléhez:

    // get species (cat or dog) - string animalSpecies is a required field 
    do
    {
    } while (validEntry == false);
    
    
  5. Az utasítás kódblokkjába do írja be a következő kódot, hogy megjelenítse és felolvassa a felhasználói bemenetet:

    Console.WriteLine("\n\rEnter 'dog' or 'cat' to begin a new entry");
    readResult = Console.ReadLine();
    
    
  6. Annak érdekében, hogy az érték readResult NE null értékű legyen, mielőtt hozzá szeretné rendelni az értéket readResultanimalSpecies, írja be a következő kódot:

    if (readResult != null)
    {
        animalSpecies = readResult.ToLower();
    
    }
    
  7. Az érték-hozzárendelés alatti animalSpecies sorban, annak érdekében, hogy animalSpecies érvényes fajnevet tartalmazhasson, írja be a következő kódot:

    if (animalSpecies != "dog" && animalSpecies != "cat")
    {
        validEntry = false;
    }
    else
    {
        validEntry = true;
    }
    
  8. Hasonlítsa össze a befejezett fajnév adatbeviteli ciklusát a következő kóddal:

    // 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. A Visual Studio Code File menüben válassza a Mentés lehetőséget.

  10. Nyissa meg az Integrált terminál panelt a Visual Studio Code-ban, és írja be a parancsot a program létrehozásához.

    Ha buildelési hibák vagy figyelmeztetések jelentek meg, a folytatás előtt javítsa ki a problémákat.

Az állatazonosító értékének létrehozása

Ebben a feladatban a animalSpeciespetCount változókkal hozza létre a hozzárendelt animalIDértéket.

  1. Adjon hozzá egy üres kódsort a fajnév adatbeviteli ciklus kódblokkja alá.

  2. Az animalID érték létrehozásához és hozzárendeléséhez írja be a következő kódot:

    // 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. A Visual Studio Code File menüben válassza a Mentés lehetőséget.

Hurok kialakítása a kisállat korának olvasásához és ellenőrzéséhez

Ebben a feladatban létrehoz egy do hurkot, amely addig iterál, amíg a felhasználó be nem ír egy ? vagy egy érvényes egész számot, amely a kisállat életkorát jelöli éveken belül. A bemenet rögzítéséhez használja újra az érvénytelenítendő sztringet readResultConsole.ReadLine() . A mintaadatok létrehozásakor használt sztringváltozót is újra felhasználhatja animalAge . Annak teszteléséhez, hogy a animalAge karakterlánc érvényes egész számot képvisel-e, használja a validEntry logikai értéket. Deklarál egy új egész változót, amely a numerikus érték tárolására van elnevezve petAge . A validEntry logikai értéket ismét egy olyan kifejezésben használjuk, amelyet a do ciklusunk kilépési feltételeként értékelünk ki.

  1. Adjon hozzá egy üres kódsort a változóhoz érték hozzárendeléséhez animalID használt sor alá.

  2. Az életkor-adatbevitel ciklusának létrehozásához do írja be a következő kódot:

    // get the pet's age. can be ? at initial entry. 
    do
    {
    } while (validEntry == false);
    
    
  3. A do utasítás kódblokkjában, a petAge nevű egész szám változó deklarálásához írja be a következő kódot:

    int petAge;
    
    
  4. A deklaráció petAgealatti sorban adja meg az alábbi kódot, hogy megjelenítsen egy üzenetkérést, és olvassa el a felhasználói bemenetet:

    Console.WriteLine("Enter the pet's age or enter ? if unknown");
    readResult = Console.ReadLine();
    
    
  5. Ha meg szeretné győződni arról, hogy az érték readResult nem null értékű, mielőtt hozzá szeretné rendelni az értéket readResultanimalAge, írja be a következő kódot:

    if (readResult != null)
    {
        animalAge = readResult;
    
    }
    
  6. Az érték-hozzárendelés alatti animalAge sorban annak ellenőrzéséhez, hogy a felhasználó beírt-e ? érvényes egész szám tesztelése előtt, írja be a következő kódot:

    if (animalAge != "?")
    {
        validEntry = int.TryParse(animalAge, out petAge);
    }
    else
    {
        validEntry = true;
    }
    
  7. Hasonlítsa össze a befejezett kor adatbeviteli ciklusát a következő kóddal:

    // 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. A Visual Studio Code File menüben válassza a Mentés lehetőséget.

  9. Nyissa meg az Integrált terminál panelt a Visual Studio Code-ban, és írja be a parancsot a program létrehozásához.

    Ha buildelési hibák vagy figyelmeztetések jelentek meg, a folytatás előtt javítsa ki a problémákat.

Hurok létrehozása a kisállat fizikai leírásának olvasásához és ellenőrzéséhez

Ebben a feladatban létrehoz egy do hurkot, amely addig iterál, amíg a felhasználó meg nem ad egy sztringértéket, amely egy kisállat fizikai leírását jelöli. A bemenet rögzítéséhez használja újra az érvénytelenítendő sztringet readResultConsole.ReadLine() . A mintaadatok létrehozásakor használt sztringváltozót is újra felhasználhatja animalPhysicalDescription . A ciklus kilépési feltételeként animalPhysicalDescription kiértékelt kifejezésben a hozzárendelt do értéket kell használnia.

  1. Adjon hozzá egy üres kódsort az életkori adatbeviteli ciklus kódblokkja alatt.

  2. Ha hurkot do szeretne létrehozni a fizikai leírás adatbeviteléhez, írja be a következő kódot:

    // get a description of the pet's physical appearance/condition - animalPhysicalDescription can be blank.
    do
    {
    } while (animalPhysicalDescription == "");
    
    
  3. Az utasítás kódblokkjába do írja be a következő kódot, hogy megjelenítse és felolvassa a felhasználói bemenetet:

    Console.WriteLine("Enter a physical description of the pet (size, color, gender, weight, housebroken)");
    readResult = Console.ReadLine();
    
    
  4. Ha meg szeretné győződni arról, hogy az érték readResult nem null értékű, mielőtt hozzá szeretné rendelni az értéket readResultanimalPhysicalDescription, írja be a következő kódot:

    if (readResult != null)
    {
        animalPhysicalDescription = readResult.ToLower();
    
    }
    
  5. Annak érdekében, hogy a "tbd" megadott érték esetén hozzárendeljen egy animalPhysicalDescription értéket a ""-hez, írja be a következő kódot:

    if (animalPhysicalDescription == "")
    {
        animalPhysicalDescription = "tbd";
    }
    
  6. Hasonlítsa össze a befejezett fizikai leírás adatbeviteli ciklusát a következő kóddal:

    // 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. A Visual Studio Code File menüben válassza a Mentés lehetőséget.

  8. Nyissa meg az Integrált terminál panelt a Visual Studio Code-ban, és írja be a parancsot a program létrehozásához.

    Ha buildelési hibák vagy figyelmeztetések jelentek meg, a folytatás előtt javítsa ki a problémákat.

Hurok létrehozása a kisállat személyiségleírásának olvasására és ellenőrzésére

Ebben a feladatban létrehoz egy do hurkot, amely addig iterál, amíg a felhasználó meg nem ad egy sztringértéket, amely egy kisállat személyiségének leírását jelöli. A bemenet rögzítéséhez használja újra az érvénytelenítendő sztringet readResultConsole.ReadLine() . A mintaadatok létrehozásakor használt sztringváltozót is újra felhasználhatja animalPersonalityDescription . A ciklus kilépési feltételeként animalPersonalityDescription kiértékelt kifejezésben a hozzárendelt do értéket kell használnia.

  1. Adjon hozzá egy üres kódsort a fizikai leírás adatbeviteli ciklus kódblokkja alá.

  2. A személyiség leírására szolgáló adatbeviteli ciklus létrehozásához írja be a következő kódot: do

    // get a description of the pet's personality - animalPersonalityDescription can be blank.
    do
    {
    } while (animalPersonalityDescription == "");
    
    
  3. Az utasítás kódblokkjába do írja be a következő kódot, hogy megjelenítse és felolvassa a felhasználói bemenetet:

    Console.WriteLine("Enter a description of the pet's personality (likes or dislikes, tricks, energy level)");
    readResult = Console.ReadLine();
    
    
  4. Ha meg szeretné győződni arról, hogy az érték readResult nem null értékű, mielőtt hozzá szeretné rendelni az értéket readResultanimalPersonalityDescription, írja be a következő kódot:

    if (readResult != null)
    {
        animalPersonalityDescription = readResult.ToLower();
    
    }
    
  5. Annak érdekében, hogy a "tbd" megadott érték esetén hozzárendeljen egy animalPersonalityDescription értéket a ""-hez, írja be a következő kódot:

    if (animalPersonalityDescription == "")
    {
        animalPersonalityDescription = "tbd";
    }
    
  6. Hasonlítsa össze a befejezett személyiségleírási adatbeviteli ciklust a következő kóddal:

    // 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. A Visual Studio Code File menüben válassza a Mentés lehetőséget.

  8. Nyissa meg az Integrált terminál panelt a Visual Studio Code-ban, és írja be a parancsot a program létrehozásához.

    Ha buildelési hibák vagy figyelmeztetések jelentek meg, a folytatás előtt javítsa ki a problémákat.

Hurok létrehozása a kisállat becenevének olvasásához és érvényesítéséhez

Ebben a feladatban létrehoz egy do hurkot, amely addig iterál, amíg a felhasználó meg nem ad egy sztringértéket, amely egy kisállat becenevét jelöli. A bemenet rögzítéséhez használja újra az érvénytelenítendő sztringet readResultConsole.ReadLine() . A mintaadatok létrehozásakor használt sztringváltozót is újra felhasználhatja animalNickname . A ciklus kilépési feltételeként animalNickname kiértékelt kifejezésben a hozzárendelt do értéket kell használnia.

  1. Adjon hozzá egy üres kódsort a személyiségleírási adatbeviteli ciklus kódblokkja alatt.

  2. A személyiség leírására szolgáló adatbeviteli ciklus létrehozásához írja be a következő kódot: do

    // get the pet's nickname. animalNickname can be blank.
    do
    {
    } while (animalNickname == "");
    
    
  3. Az utasítás kódblokkjába do írja be a következő kódot, hogy megjelenítse és felolvassa a felhasználói bemenetet:

    Console.WriteLine("Enter a nickname for the pet");
    readResult = Console.ReadLine();
    
    
  4. Ha meg szeretné győződni arról, hogy az érték readResult nem null értékű, mielőtt hozzá szeretné rendelni az értéket readResultanimalNickname, írja be a következő kódot:

    if (readResult != null)
    {
        animalNickname = readResult.ToLower();
    
    }
    
  5. Annak érdekében, hogy a "tbd" megadott érték esetén hozzárendeljen egy animalNickname értéket a ""-hez, írja be a következő kódot:

    if (animalNickname == "")
    {
        animalNickname = "tbd";
    }
    
  6. Hasonlítsa össze a befejezett becenév adatbeviteli ciklusát a következő kóddal:

    // 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. A Visual Studio Code File menüben válassza a Mentés lehetőséget.

  8. Nyissa meg az Integrált terminál panelt a Visual Studio Code-ban, és írja be a parancsot a program létrehozásához.

    Ha buildelési hibák vagy figyelmeztetések jelentek meg, a folytatás előtt javítsa ki a problémákat.

Az új kisállat adatainak mentése

Ebben a feladatban az állati jellemzők megadott értékeit elmenti a ourAnimals tömbbe.

  1. Adjon hozzá egy üres kódsort a becenév adatbeviteli ciklus kódblokkja alá.

  2. A felhasználó által megadott adatértékek tárolásához írja be a következő kódot:

    // 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. A Visual Studio Code File menüben válassza a Mentés lehetőséget.

  4. Nyissa meg az Integrált terminál panelt a Visual Studio Code-ban, és írja be a parancsot a program létrehozásához.

    Ha buildelési hibák vagy figyelmeztetések jelentek meg, a folytatás előtt javítsa ki a problémákat.

Ellenőrizd a munkádat

Ebben a feladatban az integrált terminálból futtatja az alkalmazást, és ellenőrzi, hogy a kisállat-adatbevitel megfelelően működik-e.

  1. Szükség esetén nyissa meg a Visual Studio Code integrált terminálpaneljét.

  2. A Terminál parancssorában írja be a dotnet run

  3. A Terminál parancssorában adja meg a 2 értéket

  4. Ellenőrizze, hogy a terminálpanel frissült-e a következő kimenet megjelenítéséhez:

    We currently have 4 pets that need homes. We can manage 4 more.
    
    Enter 'dog' or 'cat' to begin a new entry
    
  5. Adja meg a következő értékeket a Terminál parancssorában, és ellenőrizze, hogy az egyes további kérések megjelennek-e:

    • A Enter 'dog' or 'cat' to begin a new entry parancssorba írja be a kutya
    • A Enter the pet's age or enter ? if unknown parancssorba írja be ?
    • A Enter a physical description of the pet (size, color, gender, weight, housebroken) parancssornál nyomja le az Enter billentyűt.
    • A Enter a description of the pet's personality (likes or dislikes, tricks, energy level) parancssornál nyomja le az Enter billentyűt.
    • A Enter a nickname for the pet parancssornál nyomja le az Enter billentyűt.

    A terminálpanelt a következőképpen kell frissíteni:

    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. A Terminál parancssorában adja meg az n

  7. Ellenőrizze, hogy a Terminál panel frissült-e a főmenü beállításainak megjelenítéséhez.

  8. A Terminál parancssorában adja meg az 1 értéket

  9. Ellenőrizze, hogy a terminálpanel frissült-e a következő kimenet megjelenítéséhez:

    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
    

    Ha az újonnan hozzáadott állatadatok nem jelennek meg, győződjön meg arról, hogy a kódsorokat is belefoglalta az adatok a miAnimals tömbbe való mentéséhez, és ellenőrizze, hogy tartalmazza-e a kódsort a petID létrehozásához.

  10. Ellenőrizze, hogy létrehozhat-e további állatleírásokat a kutyákhoz és macskákhoz, és hogy az állatok jellemzői a tömbbe ourAnimals vannak mentve.

  11. Lépjen ki az alkalmazásból, majd zárja be a Terminál panelt.

Gratulálunk ennek az irányított projektnek a befejezéséhez! Létrehozott egy alkalmazást, amely kombinálja a kijelölési és iterációs utasításokat az alkalmazástervezési célok eléréséhez. Az alkalmazás több mint 300 sort tartalmaz, és olyan feladatokat hajt végre, amelyeket egy professzionális alkalmazásban találhat. A projekt befejezése jelentős eredményt jelent. Csak így tovább!