Esercizio - Scrivere codice per leggere e salvare nuovi dati dell'array ourAnimals
In questo esercizio si sviluppano i cicli di convalida per l'inserimento dei dati di ogni caratteristica dell'animale domestico e quindi si archiviano i nuovi dati della matrice ourAnimals. Le attività dettagliate completate durante questo esercizio sono:
- Leggere e convalidare le specie: creare un ciclo e la struttura del codice interna usata per immettere e convalidare la specie dell'animale domestico.
- Costruire l'ID animale domestico: scrivere il codice che usa petCount e il nome della specie per costruire il valore petID.
- Leggere e convalidare l'età: creare un ciclo e una struttura di codice per immettere e convalidare l'età dell'animale.
- Leggere e convalidare la descrizione fisica: creare un ciclo e una struttura interna del codice usata per immettere la descrizione fisica dell'animale domestico.
- Leggere e convalidare la descrizione della personalità: creare un ciclo e la struttura interna del codice usata per immettere una descrizione della personalità dell'animale domestico.
- Leggere e convalidare il nome alternativo: creare un ciclo e la struttura del codice interna usata per immettere un nome alternativo per l'animale domestico.
- Test di verifica: eseguire test di verifica per il codice sviluppato in questo esercizio.
Importante
Prima di iniziare questo esercizio, è necessario completare l'esercizio precedente in questo modulo.
Creare il ciclo per leggere e convalidare la specie dell'animale domestico
In questa attività si crea un do ciclo che scorre fino a quando l'utente non immette un nome di specie valido, cane o gatto. Riutilizzi la stringa annullabile readResult per acquisire l'input Console.ReadLine(). È anche possibile riutilizzare la animalSpecies variabile stringa usata durante la generazione dei dati di esempio. Hai aggiunto una nuova variabile booleana denominata validEntry alla tua app. Si usa validEntry in un'espressione che viene valutata come criteri di uscita per il ciclo do.
Assicurarsi che Visual Studio Code sia aperto e che il file Program.cs sia visibile nell'editor.
Individuare l'istruzione
while (anotherPet == "y" && petCount < maxPets)e quindi aggiungere una riga di codice vuota nel blocco di codice superiore.Nella riga di codice vuota creata, per dichiarare
validEntrycon un valore iniziale difalse, immettere il codice seguente:bool validEntry = false;Nella riga seguente la dichiarazione di
validEntry, per creare un ciclodoper l'immissione dei dati delle specie, immettere il codice seguente:// get species (cat or dog) - string animalSpecies is a required field do { } while (validEntry == false);All'interno del blocco di codice dell'istruzione
do, per creare una richiesta di visualizzazione e leggere l'input dell'utente, immettere il codice seguente:Console.WriteLine("\n\rEnter 'dog' or 'cat' to begin a new entry"); readResult = Console.ReadLine();Per assicurarsi che il valore di
readResultnon sia null prima di assegnare il valore direadResultaanimalSpecies, immettere il codice seguente:if (readResult != null) { animalSpecies = readResult.ToLower(); }Nella riga sotto l'assegnazione di
animalSpeciesvalore, per assicurarsi cheanimalSpeciescontenga un nome di specie valido, immettere il codice seguente:if (animalSpecies != "dog" && animalSpecies != "cat") { validEntry = false; } else { validEntry = true; }Confrontare il ciclo di immissione dei dati del nome della specie completato con il codice seguente:
// 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);Nel menu File di Visual Studio Code, selezionare Salva.
Aprire il pannello Terminale integrato in Visual Studio Code e immettere il comando per Compilare il programma.
Se sono stati segnalati errori di compilazione o avvisi, correggere i problemi prima di continuare.
Costruire il valore dell'ID animale
In questa attività si usano le animalSpecies variabili e petCount per creare il valore assegnato a animalID.
Aggiungere una riga di codice vuota sotto il blocco di codice del ciclo di immissione dei dati del nome della specie.
Per creare e assegnare il
animalIDvalore, immettere il codice seguente:// 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();Nel menu File di Visual Studio Code, selezionare Salva.
Crea un ciclo per leggere e validare l'età dell'animale domestico
In questa attività viene creato un ciclo do che esegue l'iterazione fino a quando l'utente non immette un valore ? o un numero intero valido che rappresenta l'età dell'animale domestico in anni. È possibile riutilizzare la stringa annullabile readResult per catturare l'input Console.ReadLine() . È anche possibile riutilizzare la animalAge variabile stringa usata durante la generazione dei dati di esempio. Per verificare se la animalAge stringa rappresenta un numero intero valido, utilizzare il validEntry valore Boolean. Si dichiara una nuova variabile integer denominata petAge per archiviare il valore numerico. Anche in questo caso il valore booleano validEntry viene usato nell'espressione che viene valutata come criterio di uscita per il ciclo do.
Aggiungere una riga di codice vuota sotto la riga usata per assegnare un valore alla
animalIDvariabile.Per creare un ciclo
doper l'immissione dei dati relativi all'età, immettere il codice seguente:// get the pet's age. can be ? at initial entry. do { } while (validEntry == false);All'interno del blocco di codice dell'istruzione
do, per dichiarare una variabile integer denominatapetAge, immettere il codice seguente:int petAge;Nella riga seguente la dichiarazione di
petAge, per visualizzare una richiesta di messaggio e leggere l'input dell'utente, immettere il codice seguente:Console.WriteLine("Enter the pet's age or enter ? if unknown"); readResult = Console.ReadLine();Per assicurarsi che il valore di
readResultnon sia null prima di assegnare il valore direadResultaanimalAge, immettere il codice seguente:if (readResult != null) { animalAge = readResult; }Nella riga sotto l'assegnazione del valore
animalAge, per verificare se l'utente ha inserito?prima di eseguire il controllo per un numero intero valido, inserire il seguente codice:if (animalAge != "?") { validEntry = int.TryParse(animalAge, out petAge); } else { validEntry = true; }Confrontare il ciclo di immissione dei dati dell'età completato con il codice seguente:
// 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);Nel menu File di Visual Studio Code, selezionare Salva.
Aprire il pannello Terminale integrato in Visual Studio Code e immettere il comando per Compilare il programma.
Se sono stati segnalati errori di compilazione o avvisi, correggere i problemi prima di continuare.
Creare il ciclo per leggere e convalidare la descrizione fisica dell'animale domestico
In questa attività viene creato un do ciclo che itera fino a quando l'utente non immette un valore di tipo stringa che rappresenta una descrizione fisica di un animale da compagnia. È possibile riutilizzare la stringa annullabile readResult per catturare l'input Console.ReadLine() . È anche possibile riutilizzare la animalPhysicalDescription variabile stringa usata durante la generazione dei dati di esempio. Viene usato il valore assegnato a animalPhysicalDescription nell'espressione valutata come criteri di uscita per il ciclo do.
Aggiungere una riga di codice vuota sotto il blocco di codice del ciclo di immissione dei dati dell'età.
Per creare un ciclo per l'immissione
dodi dati di descrizione fisica, immettere il codice seguente:// get a description of the pet's physical appearance/condition - animalPhysicalDescription can be blank. do { } while (animalPhysicalDescription == "");All'interno del blocco di codice dell'istruzione
do, per creare una richiesta di visualizzazione e leggere l'input dell'utente, immettere il codice seguente:Console.WriteLine("Enter a physical description of the pet (size, color, gender, weight, housebroken)"); readResult = Console.ReadLine();Per assicurarsi che il valore di
readResultnon sia null prima di assegnare il valore direadResultaanimalPhysicalDescription, immettere il codice seguente:if (readResult != null) { animalPhysicalDescription = readResult.ToLower(); }Per assegnare un valore a
"tbd"quando il valoreanimalPhysicalDescriptionimmesso è"", immettere il codice seguente:if (animalPhysicalDescription == "") { animalPhysicalDescription = "tbd"; }Confrontare il ciclo di immissione dei dati della descrizione fisica completato con il codice seguente:
// 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 == "");Nel menu File di Visual Studio Code, selezionare Salva.
Aprire il pannello Terminale integrato in Visual Studio Code e immettere il comando per Compilare il programma.
Se sono stati segnalati errori di compilazione o avvisi, correggere i problemi prima di continuare.
Creare il ciclo per leggere e convalidare la descrizione della personalità dell'animale domestico
In questa attività, crei un do ciclo che itera fino a quando l'utente immette una stringa che rappresenta una descrizione della personalità di un animale domestico. È possibile riutilizzare la stringa annullabile readResult per catturare l'input Console.ReadLine() . È anche possibile riutilizzare la animalPersonalityDescription variabile stringa usata durante la generazione dei dati di esempio. Viene usato il valore assegnato a animalPersonalityDescription nell'espressione valutata come criteri di uscita per il ciclo do.
Aggiungi una riga di codice vuota sotto il blocco di codice del ciclo di inserimento dati della descrizione fisica.
Per creare un ciclo per l'immissione
dodi dati di descrizione della personalità, immettere il codice seguente:// get a description of the pet's personality - animalPersonalityDescription can be blank. do { } while (animalPersonalityDescription == "");All'interno del blocco di codice dell'istruzione
do, per creare una richiesta di visualizzazione e leggere l'input dell'utente, immettere il codice seguente:Console.WriteLine("Enter a description of the pet's personality (likes or dislikes, tricks, energy level)"); readResult = Console.ReadLine();Per assicurarsi che il valore di
readResultnon sia null prima di assegnare il valore direadResultaanimalPersonalityDescription, immettere il codice seguente:if (readResult != null) { animalPersonalityDescription = readResult.ToLower(); }Per assegnare un valore a
"tbd"quando il valoreanimalPersonalityDescriptionimmesso è"", immettere il codice seguente:if (animalPersonalityDescription == "") { animalPersonalityDescription = "tbd"; }Confrontare il ciclo di immissione dei dati della descrizione completata della personalità con il codice seguente:
// 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 == "");Nel menu File di Visual Studio Code, selezionare Salva.
Aprire il pannello Terminale integrato in Visual Studio Code e immettere il comando per Compilare il programma.
Se sono stati segnalati errori di compilazione o avvisi, correggere i problemi prima di continuare.
Crea un ciclo per leggere e convalidare il soprannome dell'animale domestico
In questa attività, crei un do ciclo che itera fino a quando l'utente immette una stringa che rappresenta un nomignolo per un animale domestico. È possibile riutilizzare la stringa annullabile readResult per catturare l'input Console.ReadLine() . È anche possibile riutilizzare la animalNickname variabile stringa usata durante la generazione dei dati di esempio. Viene usato il valore assegnato a animalNickname nell'espressione valutata come criteri di uscita per il ciclo do.
Aggiungere una riga di codice vuota sotto il blocco di codice del ciclo di immissione dei dati della descrizione della personalità.
Per creare un ciclo per l'immissione
dodi dati di descrizione della personalità, immettere il codice seguente:// get the pet's nickname. animalNickname can be blank. do { } while (animalNickname == "");All'interno del blocco di codice dell'istruzione
do, per creare una richiesta di visualizzazione e leggere l'input dell'utente, immettere il codice seguente:Console.WriteLine("Enter a nickname for the pet"); readResult = Console.ReadLine();Per assicurarsi che il valore di
readResultnon sia null prima di assegnare il valore direadResultaanimalNickname, immettere il codice seguente:if (readResult != null) { animalNickname = readResult.ToLower(); }Per assegnare un valore a
"tbd"quando il valoreanimalNicknameimmesso è"", immettere il codice seguente:if (animalNickname == "") { animalNickname = "tbd"; }Confronta il ciclo completato di inserimento dei dati del soprannome con il seguente codice:
// 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 == "");Nel menu File di Visual Studio Code, selezionare Salva.
Aprire il pannello Terminale integrato in Visual Studio Code e immettere il comando per Compilare il programma.
Se sono stati segnalati errori di compilazione o avvisi, correggere i problemi prima di continuare.
Salvare le nuove informazioni sugli animali domestici
In questa attività si salvano i valori immessi per le caratteristiche dell'animale domestico nella ourAnimals matrice.
Aggiungere una riga di codice vuota sotto il blocco di codice del ciclo di immissione dei dati del nome alternativo.
Per archiviare i valori dei dati specificati dall'utente, immettere il codice seguente:
// 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;Nel menu File di Visual Studio Code, selezionare Salva.
Aprire il pannello Terminale integrato in Visual Studio Code e immettere il comando per Compilare il programma.
Se sono stati segnalati errori di compilazione o avvisi, correggere i problemi prima di continuare.
Controlla il tuo lavoro
In questa attività si esegue l'applicazione dal terminale integrato e si verifica che l'immissione dei dati degli animali domestici funzioni correttamente.
Se necessario, aprire il pannello Terminale integrato di Visual Studio Code.
Al prompt dei comandi del terminale immettere dotnet run
Al prompt dei comandi del terminale immettere 2
Verificare che il pannello Terminale sia stato aggiornato per visualizzare l'output seguente:
We currently have 4 pets that need homes. We can manage 4 more. Enter 'dog' or 'cat' to begin a new entryImmettere i valori seguenti nei prompt dei comandi del terminale e verificare che venga visualizzato ogni prompt successivo:
- Al prompt
Enter 'dog' or 'cat' to begin a new entryimmettere cane - Al prompt
Enter the pet's age or enter ? if unknownimmettere ? - Al prompt
Enter a physical description of the pet (size, color, gender, weight, housebroken)premere il tasto INVIO. - Al prompt
Enter a description of the pet's personality (likes or dislikes, tricks, energy level)premere il tasto INVIO. - Al prompt
Enter a nickname for the petpremere il tasto INVIO.
Il pannello Terminale deve essere aggiornato come segue:
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)- Al prompt
Al prompt dei comandi del terminale immettere n
Verificare che il pannello Terminale sia stato aggiornato per visualizzare le opzioni del menu principale.
Al prompt dei comandi del terminale immettere 1
Verificare che il pannello Terminale sia stato aggiornato per visualizzare l'output seguente:
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 continueSe le informazioni sugli animali domestici appena aggiunte non vengono visualizzate, verificare di aver incluso le righe di codice per salvare i dati nella matrice ourAnimals e verificare di aver incluso la riga di codice per costruire il petID.
Verificare che sia possibile creare descrizioni aggiuntive degli animali per cani e gatti e che le caratteristiche degli animali vengano salvate nella
ourAnimalsmatrice.Uscire dall'applicazione e quindi chiudere il pannello Terminale.
Congratulazioni per il completamento di questo progetto guidato! È stata creata un'applicazione che combina istruzioni di selezione e iterazione per raggiungere gli obiettivi di progettazione dell'applicazione. L'applicazione include più di 300 righe ed esegue attività che potrebbero essere presenti in un'applicazione professionale. Il completamento di questo progetto rappresenta un risultato significativo. Che l'ottimo lavoro continui così!