Alıştırma - Yeni ourAnimals dizi verilerini okumak ve kaydetmek için kod yazma
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:
- 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.
- Evcil hayvan kimliği oluşturma: petID değerini oluşturmak için petCount ve tür adını kullanan kodu yazın.
- 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.
- 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.
- 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.
- 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.
- 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.
Visual Studio Code'un açık olduğundan ve Program.cs dosyanızın Düzenleyici'de göründüğünden emin olun.
deyimini
while (anotherPet == "y" && petCount < maxPets)bulun ve üst kod bloğuna boş bir kod satırı ekleyin.Oluşturduğunuz boş kod satırında,
validEntrydeğişkenini bir başlangıç değerifalseile tanımlamak için aşağıdaki kodu girin:bool validEntry = false;türü veri girişi için bir
validEntrydöngü oluşturmak üzere bildiriminindoaltındaki satıra aşağıdaki kodu girin:// get species (cat or dog) - string animalSpecies is a required field do { } while (validEntry == false);Deyiminizin
dokod 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();Değerine
readResult'yireadResult'ye atamadan önce,animalSpeciesdeğerinin null olmadığından emin olmak için aşağıdaki kodu girin:if (readResult != null) { animalSpecies = readResult.ToLower(); }Değer atamasının
animalSpeciesaltındaki satıra geçerli bir tür adı içerdiğindenanimalSpeciesemin olmak için aşağıdaki kodu girin:if (animalSpecies != "dog" && animalSpecies != "cat") { validEntry = false; } else { validEntry = true; }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);Visual Studio Code Dosyası menüsünde Kaydet'i seçin.
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.
Türünüzün adı veri giriş döngüsünün kod bloğunun altına boş bir kod satırı ekleyin.
Değeri oluşturmak ve atamak
animalIDiç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();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.
Değişkenimize
animalIDdeğer atamak için kullanılan satırın altına boş bir kod satırı ekleyin.Yaş veri girişi için bir
dodöngü oluşturmak için aşağıdaki kodu girin:// get the pet's age. can be ? at initial entry. do { } while (validEntry == false);deyiminizin
dokod bloğunun içine adlıpetAgebir tamsayı değişkeni bildirmek için aşağıdaki kodu girin:int petAge;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();readResult'ün değerinin null olmadığından emin olmak için,readResultdeğerinianimalAge'ye atamadan önce aşağıdaki kodu girin:if (readResult != null) { animalAge = readResult; }animalAgedeğ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; }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);Visual Studio Code Dosyası menüsünde Kaydet'i seçin.
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.
Yaş verileri giriş döngünüzün kod bloğunun altına boş bir kod satırı ekleyin.
Fiziksel açıklama veri girişi için döngü
dooluş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 == "");Deyiminizin
dokod 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();readResult'ün değerinin null olmadığından emin olmak için,readResultdeğerinianimalPhysicalDescription'ye atamadan önce aşağıdaki kodu girin:if (readResult != null) { animalPhysicalDescription = readResult.ToLower(); }Girilen değer
"tbd"olduğunda,animalPhysicalDescriptiondeğerini""'e atamak için aşağıdaki kodu girin:if (animalPhysicalDescription == "") { animalPhysicalDescription = "tbd"; }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 == "");Visual Studio Code Dosyası menüsünde Kaydet'i seçin.
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.
Fiziksel açıklama veri giriş döngünüzün kod bloğunun altına boş bir kod satırı ekleyin.
Kişilik açıklaması veri girişi için bir
dodö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 == "");Deyiminizin
dokod 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();readResult'ün değerinin null olmadığından emin olmak için,readResultdeğerinianimalPersonalityDescription'ye atamadan önce aşağıdaki kodu girin:if (readResult != null) { animalPersonalityDescription = readResult.ToLower(); }Girilen değer
"tbd"olduğunda,animalPersonalityDescriptiondeğerini""'e atamak için aşağıdaki kodu girin:if (animalPersonalityDescription == "") { animalPersonalityDescription = "tbd"; }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 == "");Visual Studio Code Dosyası menüsünde Kaydet'i seçin.
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.
Kişilik açıklama veri giriş döngünüzün kod bloğunun altına boş bir kod satırı ekleyin.
Kişilik açıklaması veri girişi için bir
dodöngü oluşturmak için aşağıdaki kodu girin:// get the pet's nickname. animalNickname can be blank. do { } while (animalNickname == "");Deyiminizin
dokod 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();readResult'ün değerinin null olmadığından emin olmak için,readResultdeğerinianimalNickname'ye atamadan önce aşağıdaki kodu girin:if (readResult != null) { animalNickname = readResult.ToLower(); }Girilen değer
"tbd"olduğunda,animalNicknamedeğerini""'e atamak için aşağıdaki kodu girin:if (animalNickname == "") { animalNickname = "tbd"; }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 == "");Visual Studio Code Dosyası menüsünde Kaydet'i seçin.
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.
Takma ad veri giriş döngünüzün kod bloğunun altına boş bir kod satırı ekleyin.
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;Visual Studio Code Dosyası menüsünde Kaydet'i seçin.
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.
Gerekirse Visual Studio Code'un Tümleşik Terminal panelini açın.
Terminal komut istemine dotnet run girin
Terminal komut istemine 2 girin
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 entryTerminal 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 petEnter 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)- İstemde
Terminal komut istemine n girin
Terminal panelinin ana menü seçeneklerini gösterecek şekilde güncelleştirildiğini doğrulayın.
Terminal komut istemine 1 girin
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 continueYeni 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.
Köpekler ve kediler için ek hayvan açıklamaları oluşturabileceğinizi ve hayvan özelliklerinin diziye
ourAnimalskaydedildiğini doğrulayın.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!