Ćwiczenie — pisanie kodu w celu odczytywania i zapisywania nowych danych tablicy ourAnimals
W tym ćwiczeniu utworzysz pętle weryfikacji wprowadzania danych dla każdej charakterystyki zwierząt domowych, a następnie zapiszesz nowe ourAnimals dane tablicy. Szczegółowe zadania wykonywane w tym ćwiczeniu to:
- Odczytywanie i weryfikowanie gatunków: tworzenie pętli i wewnętrznej struktury kodu używanej do wprowadzania i weryfikowania gatunków zwierząt domowych.
- Konstruowanie identyfikatora zwierzaka: napisz kod, który używa petCount i nazwy gatunku do konstruowania wartości petID.
- Odczytywanie i weryfikowanie wieku: utwórz pętlę i wewnętrzną strukturę kodu używaną do wprowadzania i weryfikowania wieku zwierzęcia.
- Odczytywanie i weryfikowanie opisu fizycznego: utwórz pętlę i wewnętrzną strukturę kodu używaną do wprowadzania fizycznego opisu zwierzęcia.
- Przeczytaj i zweryfikuj opis osobowości: utwórz pętlę i wewnętrzną strukturę kodu używaną do wprowadzania opisu osobowości zwierzęcia.
- Odczytywanie i weryfikowanie pseudonimu: tworzenie pętli i wewnętrznej struktury kodu używanej do wprowadzania pseudonimu dla zwierzaka.
- Test weryfikacyjny: wykonaj testy weryfikacyjne dla kodu opracowywany w tym ćwiczeniu.
Ważne
Przed rozpoczęciem tego ćwiczenia należy wykonać poprzednie ćwiczenie w tym module.
Zbuduj pętlę do odczytu i weryfikacji gatunku zwierząt domowych
W tym zadaniu utworzysz pętlę do , która iteruje, dopóki użytkownik nie wprowadzi prawidłowej nazwy gatunku, psa lub kota. Aby przechwycić readResult dane wejściowe, należy ponownie użyć ciąguConsole.ReadLine(), który można unieważnić. Można również ponownie użyć zmiennej ciągu animalSpecies, którą zastosowano podczas generowania przykładowych danych. Do aplikacji zostanie dodana nowa zmienna logiczna o nazwie validEntry . Używasz validEntry w wyrażeniu, które jest oceniane jako kryterium zakończenia pętli do.
Upewnij się, że program Visual Studio Code jest otwarty i że plik Program.cs jest widoczny w edytorze.
Znajdź instrukcję
while (anotherPet == "y" && petCount < maxPets), a następnie dodaj pusty wiersz kodu w górnym bloku kodu.Na pustym wierszu kodu, który został utworzony, aby zadeklarować
validEntryz początkową wartościąfalse, wprowadź następujący kod:bool validEntry = false;W wierszu poniżej deklaracji
validEntry, aby utworzyć pętlędodla wprowadzania danych gatunków, wprowadź następujący kod:// get species (cat or dog) - string animalSpecies is a required field do { } while (validEntry == false);W bloku kodu instrukcji
do, aby utworzyć monit wyświetlania i odczytać dane wejściowe użytkownika, wprowadź następujący kod:Console.WriteLine("\n\rEnter 'dog' or 'cat' to begin a new entry"); readResult = Console.ReadLine();Aby upewnić się, że wartość
readResultnie ma wartości null przed przypisanie wartościreadResultdoanimalSpecies, wprowadź następujący kod:if (readResult != null) { animalSpecies = readResult.ToLower(); }W wierszu poniżej
animalSpeciesprzypisania wartości, aby upewnić się, żeanimalSpecieszawiera prawidłową nazwę gatunku, wprowadź następujący kod:if (animalSpecies != "dog" && animalSpecies != "cat") { validEntry = false; } else { validEntry = true; }Porównaj ukończoną pętlę wprowadzania danych nazwy gatunku z następującym kodem:
// 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);W menu Plik programu Visual Studio Code wybierz pozycję Zapisz.
Otwórz panel Zintegrowany terminal w programie Visual Studio Code i wprowadź polecenie w celu skompilowania programu.
Jeśli zgłoszono jakiekolwiek błędy kompilacji lub ostrzeżenia, rozwiąż problemy przed kontynuowaniem.
Konstruowanie wartości identyfikatora zwierzęcia
W tym zadaniu używaj zmiennych animalSpecies i petCount do utworzenia wartości przypisanej do elementu animalID.
Dodaj pusty wiersz kodu poniżej bloku kodu pętli wprowadzania danych nazwy gatunku.
Aby utworzyć i przypisać
animalIDwartość, wprowadź następujący kod:// 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();W menu Plik programu Visual Studio Code wybierz pozycję Zapisz.
Utwórz pętlę do odczytu i walidacji wieku zwierzaka
W tym zadaniu utworzysz pętlę do, która iteruje, dopóki użytkownik nie wprowadzi ? lub prawidłowej liczby całkowitej reprezentującej wiek zwierzęcia w latach. Aby przechwycić readResult dane wejściowe, należy ponownie użyć ciąguConsole.ReadLine(), który można unieważnić. Możesz również ponownie użyć zmiennej typu string, którą użyłeś animalAge podczas generowania przykładowych danych. Aby sprawdzić, czy animalAge ciąg reprezentuje prawidłową liczbę całkowitą, należy użyć wartości logicznej validEntry . Zadeklarujesz nową zmienną całkowitą o nazwie petAge , aby przechowywać wartość liczbową. Po raz kolejny wartość logiczna validEntry jest używana w wyrażeniu, które jest ocenione jako kryterium wyjścia dla naszej pętli do.
Dodaj pusty wiersz kodu poniżej wiersza użytego do przypisania wartości do naszej
animalIDzmiennej.Aby utworzyć pętlę
dodla wprowadzania danych wieku, wprowadź następujący kod:// get the pet's age. can be ? at initial entry. do { } while (validEntry == false);W bloku kodu instrukcji
do, aby zadeklarować zmienną całkowitą o nazwiepetAge, wprowadź następujący kod:int petAge;W wierszu poniżej deklaracji
petAge, aby wyświetlić monit i pobrać dane od użytkownika, wprowadź następujący kod:Console.WriteLine("Enter the pet's age or enter ? if unknown"); readResult = Console.ReadLine();Aby upewnić się, że wartość parametru
readResultnie ma wartości null przed przypisaniem wartościreadResultdoanimalAgeelementu , wprowadź następujący kod:if (readResult != null) { animalAge = readResult; }W wierszu poniżej przypisania wartości
animalAge, aby sprawdzić, czy użytkownik wprowadził?przed przetestowaniem, czy jest to prawidłowa liczba całkowita, wprowadź następujący kod:if (animalAge != "?") { validEntry = int.TryParse(animalAge, out petAge); } else { validEntry = true; }Porównaj ukończoną pętlę wprowadzania danych wieku z następującym kodem:
// 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);W menu Plik programu Visual Studio Code wybierz pozycję Zapisz.
Otwórz panel Zintegrowany terminal w programie Visual Studio Code i wprowadź polecenie w celu skompilowania programu.
Jeśli zgłoszono jakiekolwiek błędy kompilacji lub ostrzeżenia, rozwiąż problemy przed kontynuowaniem.
Tworzenie pętli do odczytywania i sprawdzenia fizycznego opisu zwierzęcia
W tym zadaniu utworzysz pętlę do , która iteruje, dopóki użytkownik nie wprowadzi wartości ciągu reprezentującej fizyczny opis zwierzaka. Aby przechwycić readResult dane wejściowe, należy ponownie użyć ciąguConsole.ReadLine(), który można unieważnić. Możesz również ponownie użyć zmiennej typu string, którą użyłeś animalPhysicalDescription podczas generowania przykładowych danych. Używasz wartości przypisanej do animalPhysicalDescription w wyrażeniu, które jest oceniane jako kryterium wyjścia dla pętli do.
Dodaj pusty wiersz kodu poniżej bloku kodu pętli wprowadzania danych wieku.
Aby utworzyć pętlę dla
dowpisu danych opisu fizycznego, wprowadź następujący kod:// get a description of the pet's physical appearance/condition - animalPhysicalDescription can be blank. do { } while (animalPhysicalDescription == "");W bloku kodu instrukcji
do, aby utworzyć monit wyświetlania i odczytać dane wejściowe użytkownika, wprowadź następujący kod:Console.WriteLine("Enter a physical description of the pet (size, color, gender, weight, housebroken)"); readResult = Console.ReadLine();Aby upewnić się, że wartość parametru
readResultnie ma wartości null przed przypisaniem wartościreadResultdoanimalPhysicalDescriptionelementu , wprowadź następujący kod:if (readResult != null) { animalPhysicalDescription = readResult.ToLower(); }Aby przypisać wartość parametru
"tbd"doanimalPhysicalDescription, gdy wprowadzona wartość to"", wprowadź następujący kod:if (animalPhysicalDescription == "") { animalPhysicalDescription = "tbd"; }Porównaj ukończoną pętlę wprowadzania danych opisu fizycznego z następującym kodem:
// 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 == "");W menu Plik programu Visual Studio Code wybierz pozycję Zapisz.
Otwórz panel Zintegrowany terminal w programie Visual Studio Code i wprowadź polecenie w celu skompilowania programu.
Jeśli zgłoszono jakiekolwiek błędy kompilacji lub ostrzeżenia, rozwiąż problemy przed kontynuowaniem.
Zbuduj pętlę do odczytywania i weryfikowania opisu osobowości zwierzaka
W tym zadaniu utworzysz pętlę do , która iteruje, dopóki użytkownik nie wprowadzi wartości ciągu reprezentującej opis osobowości zwierzaka. Aby przechwycić readResult dane wejściowe, należy ponownie użyć ciąguConsole.ReadLine(), który można unieważnić. Możesz również ponownie użyć zmiennej typu string, którą użyłeś animalPersonalityDescription podczas generowania przykładowych danych. Używasz wartości przypisanej do animalPersonalityDescription w wyrażeniu, które jest oceniane jako kryterium wyjścia dla pętli do.
Dodaj pusty wiersz kodu poniżej bloku kodu pętli wprowadzania danych opisu fizycznego.
Aby utworzyć pętlę
dodla wpisu danych opisu osobowości, wprowadź następujący kod:// get a description of the pet's personality - animalPersonalityDescription can be blank. do { } while (animalPersonalityDescription == "");W bloku kodu instrukcji
do, aby utworzyć monit wyświetlania i odczytać dane wejściowe użytkownika, wprowadź następujący kod:Console.WriteLine("Enter a description of the pet's personality (likes or dislikes, tricks, energy level)"); readResult = Console.ReadLine();Aby upewnić się, że wartość parametru
readResultnie ma wartości null przed przypisaniem wartościreadResultdoanimalPersonalityDescriptionelementu , wprowadź następujący kod:if (readResult != null) { animalPersonalityDescription = readResult.ToLower(); }Aby przypisać wartość parametru
"tbd"doanimalPersonalityDescription, gdy wprowadzona wartość to"", wprowadź następujący kod:if (animalPersonalityDescription == "") { animalPersonalityDescription = "tbd"; }Porównaj ukończoną pętlę wprowadzania danych opisu osobowości z następującym kodem:
// 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 == "");W menu Plik programu Visual Studio Code wybierz pozycję Zapisz.
Otwórz panel Zintegrowany terminal w programie Visual Studio Code i wprowadź polecenie w celu skompilowania programu.
Jeśli zgłoszono jakiekolwiek błędy kompilacji lub ostrzeżenia, rozwiąż problemy przed kontynuowaniem.
Zbuduj pętlę do odczytu i weryfikacji pseudonimu zwierzaka
W tym zadaniu utworzysz pętlę do , która iteruje, dopóki użytkownik nie wprowadzi wartości ciągu reprezentującej pseudonim dla zwierzaka. Aby przechwycić readResult dane wejściowe, należy ponownie użyć ciąguConsole.ReadLine(), który można unieważnić. Możesz również ponownie użyć zmiennej typu string, którą użyłeś animalNickname podczas generowania przykładowych danych. Używasz wartości przypisanej do animalNickname w wyrażeniu, które jest oceniane jako kryterium wyjścia dla pętli do.
Dodaj pusty wiersz kodu poniżej bloku kodu pętli wprowadzania danych opisu osobowości.
Aby utworzyć pętlę
dodla wpisu danych opisu osobowości, wprowadź następujący kod:// get the pet's nickname. animalNickname can be blank. do { } while (animalNickname == "");W bloku kodu instrukcji
do, aby utworzyć monit wyświetlania i odczytać dane wejściowe użytkownika, wprowadź następujący kod:Console.WriteLine("Enter a nickname for the pet"); readResult = Console.ReadLine();Aby upewnić się, że wartość parametru
readResultnie ma wartości null przed przypisaniem wartościreadResultdoanimalNicknameelementu , wprowadź następujący kod:if (readResult != null) { animalNickname = readResult.ToLower(); }Aby przypisać wartość parametru
"tbd"doanimalNickname, gdy wprowadzona wartość to"", wprowadź następujący kod:if (animalNickname == "") { animalNickname = "tbd"; }Porównaj ukończoną pętlę wprowadzania danych pseudonimów z następującym kodem:
// 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 == "");W menu Plik programu Visual Studio Code wybierz pozycję Zapisz.
Otwórz panel Zintegrowany terminal w programie Visual Studio Code i wprowadź polecenie w celu skompilowania programu.
Jeśli zgłoszono jakiekolwiek błędy kompilacji lub ostrzeżenia, rozwiąż problemy przed kontynuowaniem.
Zapisz nowe informacje o zwierzętach domowych
W tym zadaniu zapiszesz wartości wprowadzone dla cech zwierząt domowych w tablicy ourAnimals .
Dodaj pusty wiersz kodu poniżej bloku kodu pętli wprowadzania danych pseudonimu.
Aby zapisać wartości danych określone przez użytkownika, wprowadź następujący kod:
// 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;W menu Plik programu Visual Studio Code wybierz pozycję Zapisz.
Otwórz panel Zintegrowany terminal w programie Visual Studio Code i wprowadź polecenie w celu skompilowania programu.
Jeśli zgłoszono jakiekolwiek błędy kompilacji lub ostrzeżenia, rozwiąż problemy przed kontynuowaniem.
Sprawdź swoją pracę
W tym zadaniu uruchomisz aplikację ze zintegrowanego terminalu i sprawdzisz, czy wpis danych zwierząt domowych działa prawidłowo.
W razie potrzeby otwórz panel Zintegrowanego Terminala Visual Studio Code.
W wierszu polecenia terminalu wprowadź polecenie dotnet run
W wierszu polecenia terminalu wprowadź 2
Sprawdź, czy panel terminalu został zaktualizowany, aby wyświetlić następujące dane wyjściowe:
We currently have 4 pets that need homes. We can manage 4 more. Enter 'dog' or 'cat' to begin a new entryWprowadź następujące wartości w wierszach polecenia terminalu i sprawdź, czy każdy kolejny wiersz jest wyświetlany:
- Po wyświetleniu monitu
Enter 'dog' or 'cat' to begin a new entrywprowadź dog - Po wyświetleniu monitu
Enter the pet's age or enter ? if unknownwprowadź ? - Po wyświetleniu monitu
Enter a physical description of the pet (size, color, gender, weight, housebroken)naciśnij Enter. - Po wyświetleniu monitu
Enter a description of the pet's personality (likes or dislikes, tricks, energy level)naciśnij Enter. - Po wyświetleniu monitu
Enter a nickname for the petnaciśnij Enter.
Panel terminalu powinien zostać zaktualizowany w następujący sposób:
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)- Po wyświetleniu monitu
W wierszu polecenia terminalu wprowadź n
Sprawdź, czy panel terminalu został zaktualizowany, aby wyświetlić opcje menu głównego.
W wierszu polecenia terminalu wprowadź 1
Sprawdź, czy panel terminalu został zaktualizowany, aby wyświetlić następujące dane wyjściowe:
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 continueJeśli nowo dodane informacje o zwierzętach domowych nie są wyświetlane, sprawdź, czy dołączono wiersze kodu, aby zapisać dane w tablicy ourAnimals, i upewnij się, że został dołączony wiersz kodu do utworzenia petID.
Sprawdź, czy możesz utworzyć dodatkowe opisy zwierząt dla psów i kotów oraz że cechy zwierząt są zapisywane w tablicy
ourAnimals.Zamknij aplikację, a następnie zamknij panel Terminal.
Gratulujemy ukończenia tego projektu z przewodnikiem! Utworzono aplikację, która łączy instrukcje wyboru i iteracji w celu osiągnięcia celów projektowych aplikacji. Aplikacja zawiera ponad 300 wierszy i wykonuje zadania, które można znaleźć w profesjonalnej aplikacji. Ukończenie tego projektu stanowi znaczące osiągnięcie. Tak trzymaj dalej!