Exercițiul - Scrieți cod pentru a citi și a salva noi date matriceAnimals

Finalizat

În acest exercițiu, dezvoltați buclele de validare a intrărilor de date pentru fiecare caracteristică a pet-ului, apoi stocați noile ourAnimals date matrice. Activitățile detaliate pe care le efectuați în timpul acestui exercițiu sunt:

  1. Citiți și validați speciile: construiți o buclă și structura de cod internă utilizată pentru a introduce și a valida speciile de animale de companie.
  2. Construiți ID-ul de companie: scrieți codul care utilizează petCount și numele speciilor pentru a construi valoarea PETID.
  3. Citiți și validați vârsta: construiți o buclă și structura de cod internă utilizată pentru a introduce și a valida vârsta de companie.
  4. Citiți și validați descrierea fizică: construiți o buclă și structura de cod interior utilizată pentru a introduce o descriere fizică a pet-ului.
  5. Citiți și validați descrierea personalității: construiți o buclă și structura de cod interior utilizată pentru a introduce o descriere a personalității pet-ului.
  6. Citiți și validați supranumele: construiți o buclă și structura de cod interior utilizată pentru a introduce un supranume pentru animale de companie.
  7. Test de verificare: efectuați teste de verificare pentru codul pe care îl dezvoltați în acest exercițiu.

Importantă

Trebuie să finalizați exercițiul anterior din acest modul înainte de a începe acest exercițiu.

Construiți bucla pentru a citi și a valida speciile de animale de companie

În această activitate, creați o do buclă care iterează până când utilizatorul introduce un nume valid de specie , câine saupisică. Reutilizați șirul readResult voidabil pentru a captura Console.ReadLine() intrarea. De asemenea, reutilizați variabila animalSpecies de șir pe care ați utilizat-o la generarea datelor eșantion. Adăugați o variabilă booleană nouă denumită validEntry în aplicație. validEntry Utilizați într-o expresie care este evaluată ca criteriu de ieșire pentru do buclă.

  1. Asigurați-vă că este deschis Visual Studio Code și că fișierul Program.cs este vizibil în Editor.

  2. Găsiți instrucțiunea while (anotherPet == "y" && petCount < maxPets) , apoi adăugați o linie de cod necompletată în blocul de cod de sus.

  3. În linia de cod necompletată pe care ați creat-o, pentru a declara validEntry cu o valoare inițială , falseintroduceți următorul cod:

    bool validEntry = false;
    
    
  4. În linia de sub declarația de validEntry, pentru a crea o do buclă pentru introducerea datelor speciilor, introduceți următorul cod:

    // get species (cat or dog) - string animalSpecies is a required field 
    do
    {
    } while (validEntry == false);
    
    
  5. În interiorul blocului de cod al angajamentului dvs. do , pentru a crea o solicitare de afișare și a citi intrarea utilizatorului, introduceți următorul cod:

    Console.WriteLine("\n\rEnter 'dog' or 'cat' to begin a new entry");
    readResult = Console.ReadLine();
    
    
  6. Pentru a vă asigura că valoarea readResult NU este nulă înainte de readResult a atribui valoarea lui , animalSpeciesintroduceți următorul cod:

    if (readResult != null)
    {
        animalSpecies = readResult.ToLower();
    
    }
    
  7. Pe linia de sub atribuirea animalSpecies valorii, pentru a vă asigura că animalSpecies conține un nume valid de specie, introduceți următorul cod:

    if (animalSpecies != "dog" && animalSpecies != "cat")
    {
        validEntry = false;
    }
    else
    {
        validEntry = true;
    }
    
  8. Comparați bucla de introducere a datelor de nume de specie finalizată cu următorul cod:

    // 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. În meniul Fișier Visual Studio Code, selectați Salvare.

  10. Deschideți panoul Terminal integrat în Visual Studio Code și introduceți comanda Construiți programul.

    Dacă au fost raportate erori de compilare sau avertismente, remediați problemele înainte de a continua.

Construirea valorii ID animal

În această activitate, utilizați variabilele animalSpecies și petCount pentru a crea valoarea pe care o atribuiți lui animalID.

  1. Adăugați o linie de cod necompletată sub blocul de cod din bucla de introducere a datelor de nume de specie.

  2. Pentru a crea și a animalID atribui valoarea, introduceți următorul cod:

    // 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. În meniul Fișier Visual Studio Code, selectați Salvare.

Construiți bucla pentru a citi și a valida vârsta de companie

În această activitate, creați o do buclă care iterează până când utilizatorul introduce un număr întreg valid sau un ? număr întreg valid care reprezintă vârsta de ani de companie. Reutilizați șirul readResult nul pentru a captura Console.ReadLine() intrarea. De asemenea, reutilizați variabila animalAge de șir pe care ați utilizat-o la generarea datelor eșantion. Pentru a testa animalAge dacă șirul reprezintă sau nu un întreg valid, utilizați booleanul validEntry . Declarați o nouă variabilă întreagă denumită petAge pentru a stoca valoarea numerică. Încă o dată, validEntry Boolean este utilizat în expresia care este evaluată ca un criteriu de ieșire pentru bucla noastră do .

  1. Adăugați o linie de cod necompletată sub linia utilizată pentru a atribui o valoare variabilei noastre animalID .

  2. Pentru a crea o do buclă pentru introducerea datelor de vârstă, introduceți următorul cod:

    // get the pet's age. can be ? at initial entry. 
    do
    {
    } while (validEntry == false);
    
    
  3. În interiorul blocului de cod al declarației dvs. do , pentru a declara o variabilă întreagă denumită petAge, introduceți următorul cod:

    int petAge;
    
    
  4. Pe linia de sub declarația de , pentru a afișa o solicitare de petAgemesaj și a citi intrarea utilizatorului, introduceți următorul cod:

    Console.WriteLine("Enter the pet's age or enter ? if unknown");
    readResult = Console.ReadLine();
    
    
  5. Pentru a vă asigura că valoarea readResult nu este nulă înainte de readResult a atribui valoarea lui animalAge, introduceți următorul cod:

    if (readResult != null)
    {
        animalAge = readResult;
    
    }
    
  6. Pe linia de sub atribuirea animalAge valorii, pentru a verifica dacă utilizatorul a introdus ? înainte de a testa un întreg valid, introduceți următorul cod:

    if (animalAge != "?")
    {
        validEntry = int.TryParse(animalAge, out petAge);
    }
    else
    {
        validEntry = true;
    }
    
  7. Comparați bucla de introducere a datelor de vârstă finalizată cu următorul cod:

    // 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. În meniul Fișier Visual Studio Code, selectați Salvare.

  9. Deschideți panoul Terminal integrat în Visual Studio Code și introduceți comanda Construiți programul.

    Dacă au fost raportate erori de compilare sau avertismente, remediați problemele înainte de a continua.

Construiți bucla pentru a citi și a valida descrierea fizică a pet-ului

În această activitate, creați o do buclă care iterează până când utilizatorul introduce o valoare șir care reprezintă o descriere fizică a unui animal de companie. Reutilizați șirul readResult nul pentru a captura Console.ReadLine() intrarea. De asemenea, reutilizați variabila animalPhysicalDescription de șir pe care ați utilizat-o la generarea datelor eșantion. Utilizați valoarea atribuită animalPhysicalDescription în expresia evaluată ca criteriu de ieșire pentru bucla noastră do .

  1. Adăugați o linie de cod necompletată sub blocul de cod din bucla de introducere a datelor de vârstă.

  2. Pentru a crea o do buclă pentru introducerea datelor de descriere fizică, introduceți următorul cod:

    // get a description of the pet's physical appearance/condition - animalPhysicalDescription can be blank.
    do
    {
    } while (animalPhysicalDescription == "");
    
    
  3. În interiorul blocului de cod al angajamentului dvs. do , pentru a crea o solicitare de afișare și a citi intrarea utilizatorului, introduceți următorul cod:

    Console.WriteLine("Enter a physical description of the pet (size, color, gender, weight, housebroken)");
    readResult = Console.ReadLine();
    
    
  4. Pentru a vă asigura că valoarea readResult nu este nulă înainte de readResult a atribui valoarea lui animalPhysicalDescription, introduceți următorul cod:

    if (readResult != null)
    {
        animalPhysicalDescription = readResult.ToLower();
    
    }
    
  5. Pentru a atribui o valoare de "tbd" la animalPhysicalDescription momentul introducerii valorii este "", introduceți următorul cod:

    if (animalPhysicalDescription == "")
    {
        animalPhysicalDescription = "tbd";
    }
    
  6. Comparați bucla de introducere a datelor de descriere fizică finalizată cu următorul cod:

    // 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. În meniul Fișier Visual Studio Code, selectați Salvare.

  8. Deschideți panoul Terminal integrat în Visual Studio Code și introduceți comanda Construiți programul.

    Dacă au fost raportate erori de compilare sau avertismente, remediați problemele înainte de a continua.

Construiți bucla pentru a citi și a valida descrierea personalității pet-ului

În această activitate, creați o do buclă care iterează până când utilizatorul introduce o valoare șir care reprezintă o descriere a personalității unui animal de companie. Reutilizați șirul readResult nul pentru a captura Console.ReadLine() intrarea. De asemenea, reutilizați variabila animalPersonalityDescription de șir pe care ați utilizat-o la generarea datelor eșantion. Utilizați valoarea atribuită animalPersonalityDescription în expresia evaluată ca criteriu de ieșire pentru bucla noastră do .

  1. Adăugați o linie de cod necompletată sub blocul de cod al buclei de introducere a datelor de descriere fizică.

  2. Pentru a crea o do buclă pentru introducerea datelor de descriere a personalității, introduceți următorul cod:

    // get a description of the pet's personality - animalPersonalityDescription can be blank.
    do
    {
    } while (animalPersonalityDescription == "");
    
    
  3. În interiorul blocului de cod al angajamentului dvs. do , pentru a crea o solicitare de afișare și a citi intrarea utilizatorului, introduceți următorul cod:

    Console.WriteLine("Enter a description of the pet's personality (likes or dislikes, tricks, energy level)");
    readResult = Console.ReadLine();
    
    
  4. Pentru a vă asigura că valoarea readResult nu este nulă înainte de readResult a atribui valoarea lui animalPersonalityDescription, introduceți următorul cod:

    if (readResult != null)
    {
        animalPersonalityDescription = readResult.ToLower();
    
    }
    
  5. Pentru a atribui o valoare de "tbd" la animalPersonalityDescription momentul introducerii valorii este "", introduceți următorul cod:

    if (animalPersonalityDescription == "")
    {
        animalPersonalityDescription = "tbd";
    }
    
  6. Comparați bucla de introducere a datelor de descriere a personalității completate cu următorul cod:

    // 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. În meniul Fișier Visual Studio Code, selectați Salvare.

  8. Deschideți panoul Terminal integrat în Visual Studio Code și introduceți comanda Construiți programul.

    Dacă au fost raportate erori de compilare sau avertismente, remediați problemele înainte de a continua.

Construiți bucla pentru a citi și a valida supranumele pet-ului

În această activitate, creați o do buclă care iterează până când utilizatorul introduce o valoare șir care reprezintă un supranume pentru un animal de companie. Reutilizați șirul readResult nul pentru a captura Console.ReadLine() intrarea. De asemenea, reutilizați variabila animalNickname de șir pe care ați utilizat-o la generarea datelor eșantion. Utilizați valoarea atribuită animalNickname în expresia evaluată ca criteriu de ieșire pentru bucla noastră do .

  1. Adăugați o linie de cod necompletată sub blocul de cod al buclei de introducere a datelor de descriere a personalității.

  2. Pentru a crea o do buclă pentru introducerea datelor de descriere a personalității, introduceți următorul cod:

    // get the pet's nickname. animalNickname can be blank.
    do
    {
    } while (animalNickname == "");
    
    
  3. În interiorul blocului de cod al angajamentului dvs. do , pentru a crea o solicitare de afișare și a citi intrarea utilizatorului, introduceți următorul cod:

    Console.WriteLine("Enter a nickname for the pet");
    readResult = Console.ReadLine();
    
    
  4. Pentru a vă asigura că valoarea readResult nu este nulă înainte de readResult a atribui valoarea lui animalNickname, introduceți următorul cod:

    if (readResult != null)
    {
        animalNickname = readResult.ToLower();
    
    }
    
  5. Pentru a atribui o valoare de "tbd" la animalNickname momentul introducerii valorii este "", introduceți următorul cod:

    if (animalNickname == "")
    {
        animalNickname = "tbd";
    }
    
  6. Comparați bucla de introducere a datelor supranume finalizată cu următorul cod:

    // 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. În meniul Fișier Visual Studio Code, selectați Salvare.

  8. Deschideți panoul Terminal integrat în Visual Studio Code și introduceți comanda Construiți programul.

    Dacă au fost raportate erori de compilare sau avertismente, remediați problemele înainte de a continua.

Salvați noile informații despre animale de companie

În această activitate, salvați valorile introduse pentru caracteristicile animalelor de companie în ourAnimals matrice.

  1. Adăugați o linie de cod necompletată sub blocul de cod din bucla de introducere a datelor supranume.

  2. Pentru a stoca valorile de date specificate de utilizator, introduceți următorul cod:

    // 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. În meniul Fișier Visual Studio Code, selectați Salvare.

  4. Deschideți panoul Terminal integrat în Visual Studio Code și introduceți comanda Construiți programul.

    Dacă au fost raportate erori de compilare sau avertismente, remediați problemele înainte de a continua.

Verificați-vă activitatea

În această activitate, rulați aplicația de la Terminalul integrat și verificați dacă introducerea datelor de companie funcționează corect.

  1. Dacă este necesar, deschideți panoul Terminal integrat visual Studio Code.

  2. În linia de comandă Terminal, introduceți run dotnet

  3. În linia de comandă Terminal, introduceți 2

  4. Verificați dacă panoul Terminal s-a actualizat pentru a afișa următoarea ieșire:

    We currently have 4 pets that need homes. We can manage 4 more.
    
    Enter 'dog' or 'cat' to begin a new entry
    
  5. Introduceți următoarele valori în linia de comandă Terminal și verificați dacă se afișează fiecare solicitare ulterioară:

    • Enter 'dog' or 'cat' to begin a new entry La solicitare, introduceți câine
    • Enter the pet's age or enter ? if unknown La solicitare, introduceți ?
    • Enter a physical description of the pet (size, color, gender, weight, housebroken) La solicitare, apăsați tasta Enter.
    • Enter a description of the pet's personality (likes or dislikes, tricks, energy level) La solicitare, apăsați tasta Enter.
    • Enter a nickname for the pet La solicitare, apăsați tasta Enter.

    Panoul terminal trebuie actualizat după cum urmează:

    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. În linia de comandă Terminal, introduceți n

  7. Verificați dacă panoul Terminal s-a actualizat pentru a afișa opțiunile meniului principal.

  8. În linia de comandă Terminal, introduceți 1

  9. Verificați dacă panoul Terminal s-a actualizat pentru a afișa următoarea ieșire:

    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
    

    Dacă nu se afișează informațiile despre animale de companie nou adăugate, asigurați-vă că ați inclus liniile de cod pentru a salva datele în matricea NoastrăAnimals și asigurați-vă că ați inclus linia de cod pentru a construi PETID-ul.

  10. Verificați dacă puteți crea descrieri suplimentare ale animalelor pentru câini și pisici și că caracteristicile animalelor sunt salvate în ourAnimals matrice.

  11. Ieșiți din aplicație, apoi închideți panoul Terminal.

Felicitări pentru finalizarea acestui proiect ghidat! Ați creat o aplicație care combină selecții și instrucțiuni de iterație pentru a vă atinge obiectivele de proiectare a aplicației. Aplicația dvs. include peste 300 de linii și efectuează activități pe care le puteți găsi într-o aplicație profesionistă. Finalizarea acestui proiect reprezintă o realizare semnificativă. Țineți-o tot așa!