Gyakorlat – Írj kódot az új ourAnimals tömb adatainak olvasásához és mentéséhez.
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:
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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.
Keresse meg az utasítást
while (anotherPet == "y" && petCount < maxPets), majd adjon hozzá egy üres kódsort a felső kódblokkhoz.A létrehozott üres kódsorba a következő kód beírásával deklarálhatja a(z)
validEntryváltozótfalsekezdeti értékkel:bool validEntry = false;A deklaráció
validEntryalatti sorban adja meg a következő kódot, hogy létrehozhasson egy hurkotdoa fajok adatbeviteléhez:// get species (cat or dog) - string animalSpecies is a required field do { } while (validEntry == false);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();Annak érdekében, hogy az érték
readResultNE null értékű legyen, mielőtt hozzá szeretné rendelni az értéketreadResultanimalSpecies, írja be a következő kódot:if (readResult != null) { animalSpecies = readResult.ToLower(); }Az érték-hozzárendelés alatti
animalSpeciessorban, annak érdekében, hogyanimalSpeciesérvényes fajnevet tartalmazhasson, írja be a következő kódot:if (animalSpecies != "dog" && animalSpecies != "cat") { validEntry = false; } else { validEntry = true; }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);A Visual Studio Code File menüben válassza a Mentés lehetőséget.
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.
Adjon hozzá egy üres kódsort a fajnév adatbeviteli ciklus kódblokkja alá.
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();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.
Adjon hozzá egy üres kódsort a változóhoz érték hozzárendeléséhez
animalIDhasznált sor alá.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);A
doutasítás kódblokkjában, apetAgenevű egész szám változó deklarálásához írja be a következő kódot:int petAge;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();Ha meg szeretné győződni arról, hogy az érték
readResultnem null értékű, mielőtt hozzá szeretné rendelni az értéketreadResultanimalAge, írja be a következő kódot:if (readResult != null) { animalAge = readResult; }Az érték-hozzárendelés alatti
animalAgesorban 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; }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);A Visual Studio Code File menüben válassza a Mentés lehetőséget.
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.
Adjon hozzá egy üres kódsort az életkori adatbeviteli ciklus kódblokkja alatt.
Ha hurkot
doszeretne 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 == "");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();Ha meg szeretné győződni arról, hogy az érték
readResultnem null értékű, mielőtt hozzá szeretné rendelni az értéketreadResultanimalPhysicalDescription, írja be a következő kódot:if (readResult != null) { animalPhysicalDescription = readResult.ToLower(); }Annak érdekében, hogy a
"tbd"megadott érték esetén hozzárendeljen egyanimalPhysicalDescriptionértéket a""-hez, írja be a következő kódot:if (animalPhysicalDescription == "") { animalPhysicalDescription = "tbd"; }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 == "");A Visual Studio Code File menüben válassza a Mentés lehetőséget.
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.
Adjon hozzá egy üres kódsort a fizikai leírás adatbeviteli ciklus kódblokkja alá.
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 == "");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();Ha meg szeretné győződni arról, hogy az érték
readResultnem null értékű, mielőtt hozzá szeretné rendelni az értéketreadResultanimalPersonalityDescription, írja be a következő kódot:if (readResult != null) { animalPersonalityDescription = readResult.ToLower(); }Annak érdekében, hogy a
"tbd"megadott érték esetén hozzárendeljen egyanimalPersonalityDescriptionértéket a""-hez, írja be a következő kódot:if (animalPersonalityDescription == "") { animalPersonalityDescription = "tbd"; }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 == "");A Visual Studio Code File menüben válassza a Mentés lehetőséget.
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.
Adjon hozzá egy üres kódsort a személyiségleírási adatbeviteli ciklus kódblokkja alatt.
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 == "");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();Ha meg szeretné győződni arról, hogy az érték
readResultnem null értékű, mielőtt hozzá szeretné rendelni az értéketreadResultanimalNickname, írja be a következő kódot:if (readResult != null) { animalNickname = readResult.ToLower(); }Annak érdekében, hogy a
"tbd"megadott érték esetén hozzárendeljen egyanimalNicknameértéket a""-hez, írja be a következő kódot:if (animalNickname == "") { animalNickname = "tbd"; }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 == "");A Visual Studio Code File menüben válassza a Mentés lehetőséget.
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.
Adjon hozzá egy üres kódsort a becenév adatbeviteli ciklus kódblokkja alá.
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;A Visual Studio Code File menüben válassza a Mentés lehetőséget.
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.
Szükség esetén nyissa meg a Visual Studio Code integrált terminálpaneljét.
A Terminál parancssorában írja be a dotnet run
A Terminál parancssorában adja meg a 2 értéket
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 entryAdja 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 entryparancssorba írja be a kutya - A
Enter the pet's age or enter ? if unknownparancssorba í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 petparancssorná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)- A
A Terminál parancssorában adja meg az n
Ellenőrizze, hogy a Terminál panel frissült-e a főmenü beállításainak megjelenítéséhez.
A Terminál parancssorában adja meg az 1 értéket
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 continueHa 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.
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
ourAnimalsvannak mentve.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!