Esercizio - Scrivere codice per leggere e salvare nuovi dati dell'array ourAnimals

Completato

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:

  1. Leggere e convalidare le specie: creare un ciclo e la struttura del codice interna usata per immettere e convalidare la specie dell'animale domestico.
  2. Costruire l'ID animale domestico: scrivere il codice che usa petCount e il nome della specie per costruire il valore petID.
  3. Leggere e convalidare l'età: creare un ciclo e una struttura di codice per immettere e convalidare l'età dell'animale.
  4. Leggere e convalidare la descrizione fisica: creare un ciclo e una struttura interna del codice usata per immettere la descrizione fisica dell'animale domestico.
  5. 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.
  6. 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.
  7. 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.

  1. Assicurarsi che Visual Studio Code sia aperto e che il file Program.cs sia visibile nell'editor.

  2. Individuare l'istruzione while (anotherPet == "y" && petCount < maxPets) e quindi aggiungere una riga di codice vuota nel blocco di codice superiore.

  3. Nella riga di codice vuota creata, per dichiarare validEntry con un valore iniziale di false, immettere il codice seguente:

    bool validEntry = false;
    
    
  4. Nella riga seguente la dichiarazione di validEntry, per creare un ciclo do per 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);
    
    
  5. 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();
    
    
  6. Per assicurarsi che il valore di readResult non sia null prima di assegnare il valore di readResult a animalSpecies, immettere il codice seguente:

    if (readResult != null)
    {
        animalSpecies = readResult.ToLower();
    
    }
    
  7. Nella riga sotto l'assegnazione di animalSpecies valore, per assicurarsi che animalSpecies contenga un nome di specie valido, immettere il codice seguente:

    if (animalSpecies != "dog" && animalSpecies != "cat")
    {
        validEntry = false;
    }
    else
    {
        validEntry = true;
    }
    
  8. 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);
    
  9. Nel menu File di Visual Studio Code, selezionare Salva.

  10. 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.

  1. Aggiungere una riga di codice vuota sotto il blocco di codice del ciclo di immissione dei dati del nome della specie.

  2. Per creare e assegnare il animalID valore, 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();
    
    
  3. 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.

  1. Aggiungere una riga di codice vuota sotto la riga usata per assegnare un valore alla animalID variabile.

  2. Per creare un ciclo do per 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);
    
    
  3. All'interno del blocco di codice dell'istruzione do , per dichiarare una variabile integer denominata petAge, immettere il codice seguente:

    int petAge;
    
    
  4. 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();
    
    
  5. Per assicurarsi che il valore di readResult non sia null prima di assegnare il valore di readResult a animalAge, immettere il codice seguente:

    if (readResult != null)
    {
        animalAge = readResult;
    
    }
    
  6. 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;
    }
    
  7. 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);
    
  8. Nel menu File di Visual Studio Code, selezionare Salva.

  9. 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.

  1. Aggiungere una riga di codice vuota sotto il blocco di codice del ciclo di immissione dei dati dell'età.

  2. Per creare un ciclo per l'immissione do di 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 == "");
    
    
  3. 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();
    
    
  4. Per assicurarsi che il valore di readResult non sia null prima di assegnare il valore di readResult a animalPhysicalDescription, immettere il codice seguente:

    if (readResult != null)
    {
        animalPhysicalDescription = readResult.ToLower();
    
    }
    
  5. Per assegnare un valore a "tbd" quando il valore animalPhysicalDescription immesso è "", immettere il codice seguente:

    if (animalPhysicalDescription == "")
    {
        animalPhysicalDescription = "tbd";
    }
    
  6. 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 == "");
    
  7. Nel menu File di Visual Studio Code, selezionare Salva.

  8. 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.

  1. Aggiungi una riga di codice vuota sotto il blocco di codice del ciclo di inserimento dati della descrizione fisica.

  2. Per creare un ciclo per l'immissione do di dati di descrizione della personalità, immettere il codice seguente:

    // get a description of the pet's personality - animalPersonalityDescription can be blank.
    do
    {
    } while (animalPersonalityDescription == "");
    
    
  3. 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();
    
    
  4. Per assicurarsi che il valore di readResult non sia null prima di assegnare il valore di readResult a animalPersonalityDescription, immettere il codice seguente:

    if (readResult != null)
    {
        animalPersonalityDescription = readResult.ToLower();
    
    }
    
  5. Per assegnare un valore a "tbd" quando il valore animalPersonalityDescription immesso è "", immettere il codice seguente:

    if (animalPersonalityDescription == "")
    {
        animalPersonalityDescription = "tbd";
    }
    
  6. 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 == "");
    
  7. Nel menu File di Visual Studio Code, selezionare Salva.

  8. 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.

  1. Aggiungere una riga di codice vuota sotto il blocco di codice del ciclo di immissione dei dati della descrizione della personalità.

  2. Per creare un ciclo per l'immissione do di dati di descrizione della personalità, immettere il codice seguente:

    // get the pet's nickname. animalNickname can be blank.
    do
    {
    } while (animalNickname == "");
    
    
  3. 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();
    
    
  4. Per assicurarsi che il valore di readResult non sia null prima di assegnare il valore di readResult a animalNickname, immettere il codice seguente:

    if (readResult != null)
    {
        animalNickname = readResult.ToLower();
    
    }
    
  5. Per assegnare un valore a "tbd" quando il valore animalNickname immesso è "", immettere il codice seguente:

    if (animalNickname == "")
    {
        animalNickname = "tbd";
    }
    
  6. 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 == "");
    
  7. Nel menu File di Visual Studio Code, selezionare Salva.

  8. 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.

  1. Aggiungere una riga di codice vuota sotto il blocco di codice del ciclo di immissione dei dati del nome alternativo.

  2. 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;
    
  3. Nel menu File di Visual Studio Code, selezionare Salva.

  4. 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.

  1. Se necessario, aprire il pannello Terminale integrato di Visual Studio Code.

  2. Al prompt dei comandi del terminale immettere dotnet run

  3. Al prompt dei comandi del terminale immettere 2

  4. 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 entry
    
  5. Immettere 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 entry immettere cane
    • Al prompt Enter the pet's age or enter ? if unknown immettere ?
    • 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 pet premere 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)
    
  6. Al prompt dei comandi del terminale immettere n

  7. Verificare che il pannello Terminale sia stato aggiornato per visualizzare le opzioni del menu principale.

  8. Al prompt dei comandi del terminale immettere 1

  9. 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 continue
    

    Se 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.

  10. Verificare che sia possibile creare descrizioni aggiuntive degli animali per cani e gatti e che le caratteristiche degli animali vengano salvate nella ourAnimals matrice.

  11. 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ì!