Exercice - Écrire du code pour lire et enregistrer les nouvelles données du tableau de nos animaux.

Effectué

Dans cet exercice, vous développez les boucles de validation d’entrée de données pour chaque caractéristique d’un animal, puis vous stockez les nouvelles données du tableau ourAnimals. Les tâches détaillées que vous effectuez pendant cet exercice sont les suivantes :

  1. Lire et valider les espèces : créez une boucle et la structure de code interne utilisée pour entrer et valider les espèces d’animaux de compagnie.
  2. Construire un ID d’animal de compagnie : écrivez le code qui utilise petCount et le nom de l’espèce pour construire la valeur petID.
  3. Lire et valider l’âge : créez une boucle et la structure de code interne utilisée pour entrer et valider l’âge de l’animal.
  4. Lire et valider la description physique : créez une boucle et la structure de code interne utilisée pour entrer une description physique de l’animal.
  5. Lire et valider la description de la personnalité : créez une boucle et la structure de code interne utilisée pour entrer une description de la personnalité de l’animal.
  6. Lire et valider le surnom : créez une boucle et la structure de code interne utilisée pour entrer un surnom pour l’animal.
  7. Test de vérification : effectuez des tests de vérification pour le code que vous développez dans cet exercice.

Important

Vous devez effectuer l’exercice précédent dans ce module avant de commencer cet exercice.

Construire une boucle pour lire et valider les espèces d'animaux

Dans cette tâche, vous créez une do boucle qui itère jusqu’à ce que l’utilisateur entre un nom d’espèce valide, qu’il s’agisse d’un chien ou d’un chat. Vous réutilisez votre chaîne voidable readResult pour capturer l’entrée de Console.ReadLine(). Vous réutilisez également la animalSpecies variable de chaîne que vous avez utilisée lors de la génération de vos exemples de données. Vous ajoutez une nouvelle variable booléenne nommée validEntry à votre application. Vous utilisez validEntry dans une expression évaluée comme critère de sortie pour votre do boucle.

  1. Vérifiez que Visual Studio Code est ouvert et que votre fichier Program.cs est visible dans l’éditeur.

  2. Recherchez l’instruction while (anotherPet == "y" && petCount < maxPets) , puis ajoutez une ligne de code vide au bloc de code supérieur.

  3. Sur la ligne de code vide que vous avez créée, pour déclarer validEntry avec une valeur initiale de false, entrez le code suivant :

    bool validEntry = false;
    
    
  4. Sur la ligne sous la déclaration de validEntry, pour créer une boucle pour l'entrée des données des espèces do, entrez le code suivant :

    // get species (cat or dog) - string animalSpecies is a required field 
    do
    {
    } while (validEntry == false);
    
    
  5. Dans le bloc de code de votre do instruction, pour créer une invite d’affichage et lire l’entrée utilisateur, entrez le code suivant :

    Console.WriteLine("\n\rEnter 'dog' or 'cat' to begin a new entry");
    readResult = Console.ReadLine();
    
    
  6. Pour vous assurer que la valeur de readResult n’est PAS null avant d’affecter la valeur à readResultanimalSpecies, entrez le code suivant :

    if (readResult != null)
    {
        animalSpecies = readResult.ToLower();
    
    }
    
  7. Sur la ligne en dessous de l'affectation de la valeur animalSpecies, afin de vous assurer que animalSpecies contient un nom d’espèce valide, entrez le code suivant :

    if (animalSpecies != "dog" && animalSpecies != "cat")
    {
        validEntry = false;
    }
    else
    {
        validEntry = true;
    }
    
  8. Comparez votre boucle d’entrée de données de nom d’espèce terminée avec le code suivant :

    // 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. Dans le menu Fichier de Visual Studio Code, sélectionnez Enregistrer.

  10. Ouvrez le panneau Terminal intégré dans Visual Studio Code et entrez la commande pour générer votre programme.

    Si des erreurs de build ou des avertissements ont été signalés, corrigez les problèmes avant de continuer.

Construire la valeur de l’ID d’animal

Dans cette tâche, vous utilisez les variables animalSpecies et petCount pour créer la valeur que vous affectez à animalID.

  1. Ajoutez une ligne de code vide sous le bloc de code de votre boucle d’entrée de données de nom d’espèce.

  2. Pour créer et affecter la animalID valeur, entrez le code suivant :

    // 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. Dans le menu Fichier de Visual Studio Code, sélectionnez Enregistrer.

Construire une boucle pour lire et valider l'âge de l'animal

Dans cette tâche, vous créez une do boucle qui itère jusqu’à ce que l’utilisateur entre soit un ? entier valide qui représente l’âge de l’animal en années. Vous réutilisez la chaîne annulable readResult pour capturer l'entrée Console.ReadLine(). Vous réutilisez également la animalAge variable de chaîne que vous avez utilisée lors de la génération des exemples de données. Pour tester si la animalAge chaîne représente ou non un entier valide, vous utilisez la validEntry valeur booléenne. Vous déclarez une nouvelle variable entière nommée petAge pour stocker la valeur numérique. Une fois de plus, la validEntry valeur booléenne est utilisée dans l’expression évaluée comme critère de sortie pour notre do boucle.

  1. Ajoutez une ligne de code vide sous la ligne utilisée pour affecter une valeur à notre animalID variable.

  2. Pour créer une do boucle pour l’entrée de données d’âge, entrez le code suivant :

    // get the pet's age. can be ? at initial entry. 
    do
    {
    } while (validEntry == false);
    
    
  3. Dans le bloc de code de votre do instruction, pour déclarer une variable entière nommée petAge, entrez le code suivant :

    int petAge;
    
    
  4. Sur la ligne sous la déclaration de petAge, pour afficher un message d'invite et lire l’entrée de l’utilisateur, entrez le code suivant :

    Console.WriteLine("Enter the pet's age or enter ? if unknown");
    readResult = Console.ReadLine();
    
    
  5. Pour vous assurer que la valeur de readResult n’est pas null avant d’affecter la valeur à readResultanimalAge, entrez le code suivant :

    if (readResult != null)
    {
        animalAge = readResult;
    
    }
    
  6. Sur la ligne sous l’attribution animalAge de valeur, pour vérifier si l’utilisateur a entré ? avant de tester un entier valide, entrez le code suivant :

    if (animalAge != "?")
    {
        validEntry = int.TryParse(animalAge, out petAge);
    }
    else
    {
        validEntry = true;
    }
    
  7. Comparez votre boucle d’entrée de données d’âge terminée avec le code suivant :

    // 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. Dans le menu Fichier de Visual Studio Code, sélectionnez Enregistrer.

  9. Ouvrez le panneau Terminal intégré dans Visual Studio Code et entrez la commande pour générer votre programme.

    Si des erreurs de build ou des avertissements ont été signalés, corrigez les problèmes avant de continuer.

Construire une boucle pour lire et valider la description physique de l’animal

Dans cette tâche, vous créez une do boucle qui itère jusqu’à ce que l’utilisateur entre une valeur de chaîne qui représente une description physique d’un animal de compagnie. Vous réutilisez la chaîne annulable readResult pour capturer l'entrée Console.ReadLine(). Vous réutilisez également la animalPhysicalDescription variable de chaîne que vous avez utilisée lors de la génération des exemples de données. Vous utilisez la valeur affectée à animalPhysicalDescription dans l’expression évaluée en tant que critère de sortie pour notre boucle do.

  1. Ajoutez une ligne de code vide sous le bloc de code de votre boucle d’entrée de données d’âge.

  2. Pour créer une do boucle pour l’entrée de données de description physique, entrez le code suivant :

    // get a description of the pet's physical appearance/condition - animalPhysicalDescription can be blank.
    do
    {
    } while (animalPhysicalDescription == "");
    
    
  3. Dans le bloc de code de votre do instruction, pour créer une invite d’affichage et lire l’entrée utilisateur, entrez le code suivant :

    Console.WriteLine("Enter a physical description of the pet (size, color, gender, weight, housebroken)");
    readResult = Console.ReadLine();
    
    
  4. Pour vous assurer que la valeur de readResult n’est pas null avant d’affecter la valeur à readResultanimalPhysicalDescription, entrez le code suivant :

    if (readResult != null)
    {
        animalPhysicalDescription = readResult.ToLower();
    
    }
    
  5. Pour affecter une valeur "tbd" à animalPhysicalDescription quand la valeur entrée est "", entrez le code suivant :

    if (animalPhysicalDescription == "")
    {
        animalPhysicalDescription = "tbd";
    }
    
  6. Comparez votre boucle d’entrée de données de description physique terminée avec le code suivant :

    // 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. Dans le menu Fichier de Visual Studio Code, sélectionnez Enregistrer.

  8. Ouvrez le panneau Terminal intégré dans Visual Studio Code et entrez la commande pour générer votre programme.

    Si des erreurs de build ou des avertissements ont été signalés, corrigez les problèmes avant de continuer.

Construire une boucle pour lire et valider la description de la personnalité de l'animal de compagnie

Dans cette tâche, vous créez une do boucle qui itère jusqu’à ce que l’utilisateur entre une valeur de chaîne qui représente une description de la personnalité d’un animal. Vous réutilisez la chaîne annulable readResult pour capturer l'entrée Console.ReadLine(). Vous réutilisez également la animalPersonalityDescription variable de chaîne que vous avez utilisée lors de la génération des exemples de données. Vous utilisez la valeur affectée à animalPersonalityDescription dans l’expression évaluée en tant que critère de sortie pour notre boucle do.

  1. Ajoutez une ligne de code vide sous le bloc de code de votre boucle d’entrée de données de description physique.

  2. Pour créer une do boucle pour l’entrée de données de description de la personnalité, entrez le code suivant :

    // get a description of the pet's personality - animalPersonalityDescription can be blank.
    do
    {
    } while (animalPersonalityDescription == "");
    
    
  3. Dans le bloc de code de votre do instruction, pour créer une invite d’affichage et lire l’entrée utilisateur, entrez le code suivant :

    Console.WriteLine("Enter a description of the pet's personality (likes or dislikes, tricks, energy level)");
    readResult = Console.ReadLine();
    
    
  4. Pour vous assurer que la valeur de readResult n’est pas null avant d’affecter la valeur à readResultanimalPersonalityDescription, entrez le code suivant :

    if (readResult != null)
    {
        animalPersonalityDescription = readResult.ToLower();
    
    }
    
  5. Pour affecter une valeur "tbd" à animalPersonalityDescription quand la valeur entrée est "", entrez le code suivant :

    if (animalPersonalityDescription == "")
    {
        animalPersonalityDescription = "tbd";
    }
    
  6. Comparez votre boucle d’entrée de données de description de personnalité terminée avec le code suivant :

    // 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. Dans le menu Fichier de Visual Studio Code, sélectionnez Enregistrer.

  8. Ouvrez le panneau Terminal intégré dans Visual Studio Code et entrez la commande pour générer votre programme.

    Si des erreurs de build ou des avertissements ont été signalés, corrigez les problèmes avant de continuer.

Créer une boucle pour lire et valider le surnom de l’animal

Dans cette tâche, vous créez une do boucle qui itère jusqu’à ce que l’utilisateur entre une valeur de chaîne qui représente un surnom pour un animal de compagnie. Vous réutilisez la chaîne annulable readResult pour capturer l'entrée Console.ReadLine(). Vous réutilisez également la animalNickname variable de chaîne que vous avez utilisée lors de la génération des exemples de données. Vous utilisez la valeur affectée à animalNickname dans l’expression évaluée en tant que critère de sortie pour notre boucle do.

  1. Ajoutez une ligne de code vide sous le bloc de code de votre boucle d’entrée de données de description de la personnalité.

  2. Pour créer une do boucle pour l’entrée de données de description de la personnalité, entrez le code suivant :

    // get the pet's nickname. animalNickname can be blank.
    do
    {
    } while (animalNickname == "");
    
    
  3. Dans le bloc de code de votre do instruction, pour créer une invite d’affichage et lire l’entrée utilisateur, entrez le code suivant :

    Console.WriteLine("Enter a nickname for the pet");
    readResult = Console.ReadLine();
    
    
  4. Pour vous assurer que la valeur de readResult n’est pas null avant d’affecter la valeur à readResultanimalNickname, entrez le code suivant :

    if (readResult != null)
    {
        animalNickname = readResult.ToLower();
    
    }
    
  5. Pour affecter une valeur "tbd" à animalNickname quand la valeur entrée est "", entrez le code suivant :

    if (animalNickname == "")
    {
        animalNickname = "tbd";
    }
    
  6. Comparez votre boucle d’entrée de données de surnom terminée avec le code suivant :

    // 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. Dans le menu Fichier de Visual Studio Code, sélectionnez Enregistrer.

  8. Ouvrez le panneau Terminal intégré dans Visual Studio Code et entrez la commande pour générer votre programme.

    Si des erreurs de build ou des avertissements ont été signalés, corrigez les problèmes avant de continuer.

Enregistrer les nouvelles informations sur les animaux de compagnie

Dans cette tâche, vous enregistrez les valeurs entrées pour les caractéristiques de l’animal dans le ourAnimals tableau.

  1. Ajoutez une ligne de code vide sous le bloc de code de votre boucle de saisie de données de surnoms.

  2. Pour stocker les valeurs de données spécifiées par l’utilisateur, entrez le code suivant :

    // 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. Dans le menu Fichier de Visual Studio Code, sélectionnez Enregistrer.

  4. Ouvrez le panneau Terminal intégré dans Visual Studio Code et entrez la commande pour générer votre programme.

    Si des erreurs de build ou des avertissements ont été signalés, corrigez les problèmes avant de continuer.

Vérifier votre travail

Dans cette tâche, vous exécutez votre application à partir du terminal intégré et vérifiez que l’entrée de données d’animal fonctionne correctement.

  1. Si nécessaire, ouvrez le volet Terminal intégré de Visual Studio Code.

  2. À l’invite de commandes du Terminal, entrez dotnet run.

  3. À l’invite de commandes terminal, entrez 2

  4. Vérifiez que le panneau Terminal a été mis à jour pour afficher la sortie suivante :

    We currently have 4 pets that need homes. We can manage 4 more.
    
    Enter 'dog' or 'cat' to begin a new entry
    
  5. Entrez les valeurs suivantes à l’invite de commandes terminal et vérifiez que chaque invite suivante s’affiche :

    • À l’invite Enter 'dog' or 'cat' to begin a new entry, entrez dog.
    • À l’invite Enter the pet's age or enter ? if unknown, entrez ?.
    • À l’invite Enter a physical description of the pet (size, color, gender, weight, housebroken), appuyez sur la touche Entrée.
    • À l’invite Enter a description of the pet's personality (likes or dislikes, tricks, energy level), appuyez sur la touche Entrée.
    • À l’invite Enter a nickname for the pet, appuyez sur la touche Entrée.

    Le panneau Terminal doit être mis à jour comme suit :

    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. À l’invite de commande du terminal, entrez n

  7. Vérifiez que le panneau Terminal a été mis à jour pour afficher les options de menu principal.

  8. À l’invite de commandes terminal, entrez 1

  9. Vérifiez que le panneau Terminal a été mis à jour pour afficher la sortie suivante :

    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
    

    Si vos informations d’animal de compagnie nouvellement ajoutées ne s’affichent pas, vérifiez que vous avez inclus les lignes de code pour enregistrer les données dans le tableau OurAnimals et vérifiez que vous avez inclus la ligne de code pour construire le petID.

  10. Vérifiez que vous pouvez créer des descriptions d’animaux supplémentaires pour les chiens et les chats et que les caractéristiques animales sont enregistrées dans le ourAnimals tableau.

  11. Quittez l’application, puis fermez le panneau Terminal.

Félicitations pour terminer ce projet guidé ! Vous avez créé une application qui combine des instructions de sélection et d’itération pour atteindre vos objectifs de conception d’application. Votre application comprend plus de 300 lignes et effectue des tâches que vous pouvez trouver dans une application professionnelle. La réalisation de ce projet représente une réalisation importante. Continuez à faire du bon travail !