Alıştırma - Yeni ourAnimals dizi verilerini okumak ve kaydetmek için kod yazma

Tamamlandı

Bu alıştırmada, her evcil hayvan özelliği için veri girişi doğrulama döngülerini geliştirecek ve ardından yeni ourAnimals dizi verilerini depolaacaksınız. Bu alıştırma sırasında tamamladığınız ayrıntılı görevler şunlardır:

  1. Türleri okuma ve doğrulama: Evcil hayvan türlerini girmek ve doğrulamak için kullanılan bir döngü ve iç kod yapısı oluşturun.
  2. Evcil hayvan kimliği oluşturma: petID değerini oluşturmak için petCount ve tür adını kullanan kodu yazın.
  3. Yaşı okuma ve doğrulama: Bir döngü ve evcil hayvanın yaşını girmek ve doğrulamak için kullanılan iç kod yapısını oluşturun.
  4. Fiziksel açıklamayı okuyun ve doğrulayın: bir döngü ve evcil hayvanın fiziksel açıklamasını girmek için kullanılan iç kod yapısını oluşturun.
  5. Kişilik açıklamasını okuyun ve doğrulayın: bir döngü ve evcil hayvanın kişiliğinin açıklamasını girmek için kullanılan iç kod yapısını oluşturun.
  6. Takma adı okuyun ve doğrulayın: bir döngü ve evcil hayvan için bir takma ad girmek için kullanılan iç kod yapısını oluşturun.
  7. Doğrulama testi: Bu alıştırmada geliştirdiğiniz kod için doğrulama testleri gerçekleştirin.

Önemli

Bu alıştırmaya başlamadan önce bu modüldeki önceki alıştırmayı tamamlamanız gerekir.

Evcil hayvan türlerini okumak ve doğrulamak için döngü oluşturma

Bu görevde, kullanıcı do veya kedi gibi geçerli bir tür adı girene kadar yineleyen bir döngü oluşturursunuz. Girişi yakalamak readResult için geçersiz kılınabilir dizenizi Console.ReadLine() yeniden kullanırsınız. Örnek verilerinizi oluştururken kullandığınız dize değişkenini de yeniden kullanırsınız animalSpecies . Uygulamanıza adlı validEntry yeni bir Boole değişkeni eklersiniz. Bir validEntry ifadesini, do döngünüz için çıkış kriteri olarak değerlendirilecek şekilde kullanırsınız.

  1. Visual Studio Code'un açık olduğundan ve Program.cs dosyanızın Düzenleyici'de göründüğünden emin olun.

  2. deyimini while (anotherPet == "y" && petCount < maxPets) bulun ve üst kod bloğuna boş bir kod satırı ekleyin.

  3. Oluşturduğunuz boş kod satırında, validEntry değişkenini bir başlangıç değeri false ile tanımlamak için aşağıdaki kodu girin:

    bool validEntry = false;
    
    
  4. türü veri girişi için bir validEntry döngü oluşturmak üzere bildiriminin doaltındaki satıra aşağıdaki kodu girin:

    // get species (cat or dog) - string animalSpecies is a required field 
    do
    {
    } while (validEntry == false);
    
    
  5. Deyiminizin do kod bloğunun içine bir görüntü istemi oluşturmak ve kullanıcı girişini okumak için aşağıdaki kodu girin:

    Console.WriteLine("\n\rEnter 'dog' or 'cat' to begin a new entry");
    readResult = Console.ReadLine();
    
    
  6. Değerine readResult'yi readResult'ye atamadan önce, animalSpecies değerinin null olmadığından emin olmak için aşağıdaki kodu girin:

    if (readResult != null)
    {
        animalSpecies = readResult.ToLower();
    
    }
    
  7. Değer atamasının animalSpecies altındaki satıra geçerli bir tür adı içerdiğinden animalSpecies emin olmak için aşağıdaki kodu girin:

    if (animalSpecies != "dog" && animalSpecies != "cat")
    {
        validEntry = false;
    }
    else
    {
        validEntry = true;
    }
    
  8. Tamamlanmış tür adı veri giriş döngünüzü aşağıdaki kodla karşılaştırın:

    // 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. Visual Studio Code Dosyası menüsünde Kaydet'i seçin.

  10. Visual Studio Code'da Tümleşik Terminal panelini açın ve Programınızı derleyin komutunu girin.

    Derleme hataları veya uyarıları bildirildiyse devam etmeden önce sorunları düzeltin.

Hayvan kimliği değerini oluştur

Bu görevde, animalSpecies ve petCount değişkenlerini kullanarak animalID'ye atadığınız değeri oluşturursunuz.

  1. Türünüzün adı veri giriş döngüsünün kod bloğunun altına boş bir kod satırı ekleyin.

  2. Değeri oluşturmak ve atamak animalID için aşağıdaki kodu girin:

    // 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. Visual Studio Code Dosyası menüsünde Kaydet'i seçin.

Evcil hayvanın yaşını okumak ve doğrulamak için döngü oluşturma

Bu görevde, kullanıcı ya do ya da evcil hayvanın yaşını yıl cinsinden temsil eden geçerli bir tamsayı girene kadar yineleyen bir döngü oluşturmanız? gerekir. Geçersiz kılınabilir dize readResult kullanarak Console.ReadLine() girdisini yakalarsınız. Örnek verileri oluştururken kullandığınız dize değişkenini de yeniden kullanırsınız animalAge . Dizenin animalAge geçerli bir tamsayıyı temsil edip etmediğini test etmek için Boole değerini validEntry kullanırsınız. Sayısal değeri depolamak için adlı petAge yeni bir tamsayı değişkeni bildirirsiniz. Bir kez daha validEntry Boole değeri, do döngümüz için çıkış kriteri olarak hesaplanan ifadede kullanılır.

  1. Değişkenimize animalID değer atamak için kullanılan satırın altına boş bir kod satırı ekleyin.

  2. Yaş veri girişi için bir do döngü oluşturmak için aşağıdaki kodu girin:

    // get the pet's age. can be ? at initial entry. 
    do
    {
    } while (validEntry == false);
    
    
  3. deyiminizin do kod bloğunun içine adlı petAgebir tamsayı değişkeni bildirmek için aşağıdaki kodu girin:

    int petAge;
    
    
  4. bildiriminin petAgealtındaki satıra bir ileti istemi görüntülemek ve kullanıcı girişini okumak için aşağıdaki kodu girin:

    Console.WriteLine("Enter the pet's age or enter ? if unknown");
    readResult = Console.ReadLine();
    
    
  5. readResult'ün değerinin null olmadığından emin olmak için, readResult değerini animalAge'ye atamadan önce aşağıdaki kodu girin:

    if (readResult != null)
    {
        animalAge = readResult;
    
    }
    
  6. animalAge değer atamasının altındaki satıra, kullanıcı geçerli bir tamsayı test etmeden önce ? girip girmediğini kontrol etmek için aşağıdaki kodu girin:

    if (animalAge != "?")
    {
        validEntry = int.TryParse(animalAge, out petAge);
    }
    else
    {
        validEntry = true;
    }
    
  7. Tamamlanmış yaş verileri giriş döngünüzü aşağıdaki kodla karşılaştırın:

    // 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. Visual Studio Code Dosyası menüsünde Kaydet'i seçin.

  9. Visual Studio Code'da Tümleşik Terminal panelini açın ve Programınızı derleyin komutunu girin.

    Derleme hataları veya uyarıları bildirildiyse devam etmeden önce sorunları düzeltin.

Evcil hayvanın fiziksel açıklamasını okumak ve doğrulamak için döngü oluşturma

Bu görevde, kullanıcı bir evcil hayvanın fiziksel açıklamasını temsil eden bir dize değeri girene kadar yineleyen bir döngü oluşturursunuz. Geçersiz kılınabilir dize readResult kullanarak Console.ReadLine() girdisini yakalarsınız. Örnek verileri oluştururken kullandığınız dize değişkenini de yeniden kullanırsınız animalPhysicalDescription . Döngümüz animalPhysicalDescription için çıkış kriteri olarak değerlendirdiğiniz ifadede atanan do değerini kullanırsınız.

  1. Yaş verileri giriş döngünüzün kod bloğunun altına boş bir kod satırı ekleyin.

  2. Fiziksel açıklama veri girişi için döngü do oluşturmak için aşağıdaki kodu girin:

    // get a description of the pet's physical appearance/condition - animalPhysicalDescription can be blank.
    do
    {
    } while (animalPhysicalDescription == "");
    
    
  3. Deyiminizin do kod bloğunun içine bir görüntü istemi oluşturmak ve kullanıcı girişini okumak için aşağıdaki kodu girin:

    Console.WriteLine("Enter a physical description of the pet (size, color, gender, weight, housebroken)");
    readResult = Console.ReadLine();
    
    
  4. readResult'ün değerinin null olmadığından emin olmak için, readResult değerini animalPhysicalDescription'ye atamadan önce aşağıdaki kodu girin:

    if (readResult != null)
    {
        animalPhysicalDescription = readResult.ToLower();
    
    }
    
  5. Girilen değer "tbd" olduğunda, animalPhysicalDescription değerini ""'e atamak için aşağıdaki kodu girin:

    if (animalPhysicalDescription == "")
    {
        animalPhysicalDescription = "tbd";
    }
    
  6. Tamamlanmış fiziksel açıklama veri giriş döngünüzü aşağıdaki kodla karşılaştırın:

    // 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. Visual Studio Code Dosyası menüsünde Kaydet'i seçin.

  8. Visual Studio Code'da Tümleşik Terminal panelini açın ve Programınızı derleyin komutunu girin.

    Derleme hataları veya uyarıları bildirildiyse devam etmeden önce sorunları düzeltin.

Evcil hayvanın kişilik açıklamasını okumak ve doğrulamak için döngü oluşturma

Bu görevde, bir kullanıcı evcil hayvanın kişiliğini tanımlayan bir metin değeri girene kadar yineleyen bir do döngü oluşturursunuz. Geçersiz kılınabilir dize readResult kullanarak Console.ReadLine() girdisini yakalarsınız. Örnek verileri oluştururken kullandığınız dize değişkenini de yeniden kullanırsınız animalPersonalityDescription . Döngümüz animalPersonalityDescription için çıkış kriteri olarak değerlendirdiğiniz ifadede atanan do değerini kullanırsınız.

  1. Fiziksel açıklama veri giriş döngünüzün kod bloğunun altına boş bir kod satırı ekleyin.

  2. Kişilik açıklaması veri girişi için bir do döngü oluşturmak için aşağıdaki kodu girin:

    // get a description of the pet's personality - animalPersonalityDescription can be blank.
    do
    {
    } while (animalPersonalityDescription == "");
    
    
  3. Deyiminizin do kod bloğunun içine bir görüntü istemi oluşturmak ve kullanıcı girişini okumak için aşağıdaki kodu girin:

    Console.WriteLine("Enter a description of the pet's personality (likes or dislikes, tricks, energy level)");
    readResult = Console.ReadLine();
    
    
  4. readResult'ün değerinin null olmadığından emin olmak için, readResult değerini animalPersonalityDescription'ye atamadan önce aşağıdaki kodu girin:

    if (readResult != null)
    {
        animalPersonalityDescription = readResult.ToLower();
    
    }
    
  5. Girilen değer "tbd" olduğunda, animalPersonalityDescription değerini ""'e atamak için aşağıdaki kodu girin:

    if (animalPersonalityDescription == "")
    {
        animalPersonalityDescription = "tbd";
    }
    
  6. Tamamlanmış kişilik açıklaması veri giriş döngünüzü aşağıdaki kodla karşılaştırın:

    // 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. Visual Studio Code Dosyası menüsünde Kaydet'i seçin.

  8. Visual Studio Code'da Tümleşik Terminal panelini açın ve Programınızı derleyin komutunu girin.

    Derleme hataları veya uyarıları bildirildiyse devam etmeden önce sorunları düzeltin.

Evcil hayvanın takma adını okumak ve doğrulamak için döngü oluşturma

Bu görevde, kullanıcı evcil hayvan için bir takma adı temsil eden bir dize değeri girene kadar tekrarlayan bir do döngü oluşturursunuz. Geçersiz kılınabilir dize readResult kullanarak Console.ReadLine() girdisini yakalarsınız. Örnek verileri oluştururken kullandığınız dize değişkenini de yeniden kullanırsınız animalNickname . Döngümüz animalNickname için çıkış kriteri olarak değerlendirdiğiniz ifadede atanan do değerini kullanırsınız.

  1. Kişilik açıklama veri giriş döngünüzün kod bloğunun altına boş bir kod satırı ekleyin.

  2. Kişilik açıklaması veri girişi için bir do döngü oluşturmak için aşağıdaki kodu girin:

    // get the pet's nickname. animalNickname can be blank.
    do
    {
    } while (animalNickname == "");
    
    
  3. Deyiminizin do kod bloğunun içine bir görüntü istemi oluşturmak ve kullanıcı girişini okumak için aşağıdaki kodu girin:

    Console.WriteLine("Enter a nickname for the pet");
    readResult = Console.ReadLine();
    
    
  4. readResult'ün değerinin null olmadığından emin olmak için, readResult değerini animalNickname'ye atamadan önce aşağıdaki kodu girin:

    if (readResult != null)
    {
        animalNickname = readResult.ToLower();
    
    }
    
  5. Girilen değer "tbd" olduğunda, animalNickname değerini ""'e atamak için aşağıdaki kodu girin:

    if (animalNickname == "")
    {
        animalNickname = "tbd";
    }
    
  6. Tamamlanmış takma ad veri giriş döngünüzü aşağıdaki kodla karşılaştırın:

    // 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. Visual Studio Code Dosyası menüsünde Kaydet'i seçin.

  8. Visual Studio Code'da Tümleşik Terminal panelini açın ve Programınızı derleyin komutunu girin.

    Derleme hataları veya uyarıları bildirildiyse devam etmeden önce sorunları düzeltin.

Yeni evcil hayvan bilgilerini kaydetme

Bu görevde, evcil hayvan özellikleri için girilen değerleri diziye ourAnimals kaydedersiniz.

  1. Takma ad veri giriş döngünüzün kod bloğunun altına boş bir kod satırı ekleyin.

  2. Kullanıcı tarafından belirtilen veri değerlerini depolamak için aşağıdaki kodu girin:

    // 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. Visual Studio Code Dosyası menüsünde Kaydet'i seçin.

  4. Visual Studio Code'da Tümleşik Terminal panelini açın ve Programınızı derleyin komutunu girin.

    Derleme hataları veya uyarıları bildirildiyse devam etmeden önce sorunları düzeltin.

İşinizi kontrol edin

Bu görevde, uygulamanızı Tümleşik Terminal'den çalıştırır ve evcil hayvan veri girişinin düzgün çalıştığını doğrularsınız.

  1. Gerekirse Visual Studio Code'un Tümleşik Terminal panelini açın.

  2. Terminal komut istemine dotnet run girin

  3. Terminal komut istemine 2 girin

  4. Terminal panelinin aşağıdaki çıkışı gösterecek şekilde güncelleştirildiğini doğrulayın:

    We currently have 4 pets that need homes. We can manage 4 more.
    
    Enter 'dog' or 'cat' to begin a new entry
    
  5. Terminal komut istemlerine aşağıdaki değerleri girin ve sonraki her istemin görüntülendiğini doğrulayın:

    • İstemde Enter 'dog' or 'cat' to begin a new entryköpek girin
    • İstemde Enter the pet's age or enter ? if unknown? yazın.
    • İstem satırında Enter a physical description of the pet (size, color, gender, weight, housebroken) Enter tuşuna basarak devam edin.
    • İstem satırında Enter a description of the pet's personality (likes or dislikes, tricks, energy level) Enter tuşuna basarak devam edin.
    • İstem satırında Enter a nickname for the pet Enter tuşuna basarak devam edin.

    Terminal paneli aşağıdaki gibi güncelleştirilmelidir:

    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. Terminal komut istemine n girin

  7. Terminal panelinin ana menü seçeneklerini gösterecek şekilde güncelleştirildiğini doğrulayın.

  8. Terminal komut istemine 1 girin

  9. Terminal panelinin aşağıdaki çıkışı gösterecek şekilde güncelleştirildiğini doğrulayın:

    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
    

    Yeni eklenen evcil hayvan bilgileriniz görüntülenmiyorsa verileri ourAnimals dizisine kaydetmek için kod satırlarını eklediğinizden emin olun ve petID'yi oluşturmak için kod satırını eklediğinizden emin olun.

  10. Köpekler ve kediler için ek hayvan açıklamaları oluşturabileceğinizi ve hayvan özelliklerinin diziye ourAnimals kaydedildiğini doğrulayın.

  11. Uygulamadan çıkın ve terminal panelini kapatın.

Tebrikler, bu Rehberli projeyi tamamladınız! Uygulama tasarım hedeflerinize ulaşmak için seçim ve yineleme deyimlerini birleştiren bir uygulama oluşturdunuz. Uygulamanız 300'den fazla satır içerir ve profesyonel bir uygulamada bulabileceğiniz görevleri gerçekleştirir. Bu projenin tamamlanması önemli bir başarıyı temsil eder. İyi gidiyorsunuz, böyle devam edin!