תרגיל - כתוב קוד כדי לקרוא ולשמור נתוני מערך חדשים של הנפשות
בתרגיל זה, מפתחים את לולאות אימות הזנת הנתונים עבור כל מאפיין של חיית מחמד ולאחר מכן מאחסנים את נתוני המערך ourAnimals החדשים. המשימות המפורטות שאתה משלים במהלך תרגיל זה הן:
- קריאה ואימתה של מינים: בניית לולאה ומבנה הקוד הפנימי המשמש להזנה ולאימות של מינים של חיות מחמד.
- בנה מזהה חיית מחמד: כתוב את הקוד המשתמש ב- petCount וב שם המין כדי לבנות את ערך petID.
- קרא ואמת גיל: בנה לולאה ואת מבנה הקוד הפנימי המשמש להזנה ולאימות של גיל חיית המחמד.
- קרא ואמת תיאור פיזי: בנה לולאה ואת מבנה הקוד הפנימי המשמש להזנת תיאור פיזי של חיית המחמד.
- קרא ואמת תיאור אישיות: בנה לולאה ואת מבנה הקוד הפנימי המשמש להזנת תיאור של האישיות של חיית המחמד.
- קרא ואמת כינוי: בנה לולאה ואת מבנה הקוד הפנימי המשמש להזנת כינוי עבור חיית המחמד.
- בדיקת אימות: בצע בדיקות אימות עבור הקוד שפיתת בתרגיל זה.
חשוב
עליך להשלים את התרגיל הקודם במודול זה לפני שתתחיל בתרגיל זה.
בניית לולאה לקריאה ולאימות של זני חיית המחמד
במשימה זו, תיצור לולאה do ותחזור על תשובתה עד שהמשתמש יזין שם מינים חוקי, כלב או חתול. תוכל לעשות שימוש חוזר במחרוזת הניתנת לביטול readResult כדי ללכוד את Console.ReadLine() הקלט. ניתן גם לעשות שימוש חוזר במשתנה animalSpecies המחרוזת שבו השתמשת בעת יצירת הנתונים לדוגמה. עליך להוסיף משתנה בוליאני חדש בשם validEntry לאפליקציה שלך. השתמש בביטוי validEntry המוערך כקריטריוני יציאה עבור הלולאה do שלך.
ודא ש- Visual Studio Code פתוח ושקובץ ה- Program.cs שלך גלוי בעורך.
אתר את
while (anotherPet == "y" && petCount < maxPets)המשפט ולאחר מכן הוסף שורת קוד ריקה בבלוק הקוד העליון.בשורת הקוד הריקה שיצרת, כדי להצהיר עם
validEntryערך התחלתי שלfalse, הזן את הקוד הבא:bool validEntry = false;בשורה שמתחת להצהרה על
validEntry, כדי ליצור לולאה עבורdoהזנת נתוני מינים, הזן את הקוד הבא:// get species (cat or dog) - string animalSpecies is a required field do { } while (validEntry == false);בתוך בלוק הקוד של המשפט שלך
do, כדי ליצור הצגת בקשה ולקרוא את קלט המשתמש, הזן את הקוד הבא:Console.WriteLine("\n\rEnter 'dog' or 'cat' to begin a new entry"); readResult = Console.ReadLine();כדי להבטיח שהערך של אינו
readResultNULL לפני הקצאת הערך ל-readResultanimalSpecies, הזן את הקוד הבא:if (readResult != null) { animalSpecies = readResult.ToLower(); }בשורה שמתחת להקצאת
animalSpeciesהערך, כדי לוודא שהיא מכילהanimalSpeciesשם מינים חוקי, הזן את הקוד הבא:if (animalSpecies != "dog" && animalSpecies != "cat") { validEntry = false; } else { validEntry = true; }השווה את לולאת הזנת הנתונים של שם המין שהושלם לקוד הבא:
// 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 קובץ, בחר שמור.
פתח את לוח המסוף המשולב בקוד Visual Studio והזן את הפקודה כדי לבנות את התוכנית שלך.
אם דווחו שגיאות Build או אזהרות, תקן את הבעיות לפני שתמשיך.
בנה את ערך מזהה בעלי החיים
במשימה זו, עליך להשתמש ב- animalSpecies ו petCount - כדי ליצור את הערך שאתה מקצה ל- animalID.
הוסף שורת קוד ריקה מתחת לבלוק הקוד של לולאת הזנת הנתונים של שם המין שלך.
כדי ליצור ולהקצות את
animalIDהערך, הזן את הקוד הבא:// 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 קובץ, בחר שמור.
בנה לולאה כדי לקרוא ולאמת את גיל חיית המחמד
במשימה זו, do? תיצור לולאה שנוערכת באופן אוטומטי עד שהמשתמש יזין מספר שלם חוקי או מספר שלם חוקי המייצג את גיל חיית המחמד בשנים. ניתן לעשות שימוש חוזר במחרוזת הניתנת לביטול readResult כדי ללכוד את Console.ReadLine() הקלט. ניתן גם לעשות שימוש חוזר animalAge במשתנה המחרוזת שבו השתמשת בעת יצירת הנתונים לדוגמה. כדי לבדוק אם המחרוזת מייצגת animalAge מספר שלם חוקי, השתמש בפונקציה validEntry Boolean. אתה מצהיר על משתנה מספר שלם חדש בשם petAge כדי לאחסן את הערך המספרי. שוב, הבוליאני validEntry משמש בביטוי המוערך כקריטריוני יציאה עבור הלולאה do שלנו.
הוסף שורת קוד ריקה מתחת לשורה המשמשת להקצאת ערך למשתנה
animalIDשלנו.כדי ליצור לולאה
doעבור הזנת נתוני גיל, הזן את הקוד הבא:// get the pet's age. can be ? at initial entry. do { } while (validEntry == false);בתוך בלוק הקוד של המשפט שלך
do, כדי להצהיר על משתנה מספר שלם בשםpetAge, הזן את הקוד הבא:int petAge;בשורה שמתחת להצהרה על
petAge, כדי להציג בקשה להודעה ולקרוא את קלט המשתמש, הזן את הקוד הבא:Console.WriteLine("Enter the pet's age or enter ? if unknown"); readResult = Console.ReadLine();כדי להבטיח שהערך של אינו
readResultNull לפני הקצאת הערך ל-readResultanimalAge, הזן את הקוד הבא:if (readResult != null) { animalAge = readResult; }בשורה שמתחת להקצאת
animalAgeהערך, כדי לבדוק אם המשתמש שהוזן?לפני בדיקת מספר שלם חוקי, הזן את הקוד הבא:if (animalAge != "?") { validEntry = int.TryParse(animalAge, out petAge); } else { validEntry = true; }השווה את לולאת הזנת נתוני הגיל שהושלמה לקוד הבא:
// 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 קובץ, בחר שמור.
פתח את לוח המסוף המשולב בקוד Visual Studio והזן את הפקודה כדי לבנות את התוכנית שלך.
אם דווחו שגיאות Build או אזהרות, תקן את הבעיות לפני שתמשיך.
בניית לולאה לקריאה ולאימות של התיאור הפיזי של חיית המחמד
במשימה זו, אתה יוצר לולאה do שגורמת לחזרה עד שהמשתמש מזין ערך מחרוזת המייצג תיאור פיזי של חיית מחמד. ניתן לעשות שימוש חוזר במחרוזת הניתנת לביטול readResult כדי ללכוד את Console.ReadLine() הקלט. ניתן גם לעשות שימוש חוזר animalPhysicalDescription במשתנה המחרוזת שבו השתמשת בעת יצירת הנתונים לדוגמה. השתמש בערך שהוקצה לו animalPhysicalDescription בביטוי המוערך כקריטריוני יציאה עבור הלולאה do שלנו.
הוסף שורת קוד ריקה מתחת לבלוק הקוד של לולאת הזנת נתוני הגיל שלך.
כדי ליצור לולאה
doעבור הזנת נתונים של תיאור פיזי, הזן את הקוד הבא:// get a description of the pet's physical appearance/condition - animalPhysicalDescription can be blank. do { } while (animalPhysicalDescription == "");בתוך בלוק הקוד של המשפט שלך
do, כדי ליצור הצגת בקשה ולקרוא את קלט המשתמש, הזן את הקוד הבא:Console.WriteLine("Enter a physical description of the pet (size, color, gender, weight, housebroken)"); readResult = Console.ReadLine();כדי להבטיח שהערך של אינו
readResultNull לפני הקצאת הערך ל-readResultanimalPhysicalDescription, הזן את הקוד הבא:if (readResult != null) { animalPhysicalDescription = readResult.ToLower(); }כדי להקצות ערך של מתי
"tbd"animalPhysicalDescriptionהערך שהוזן הוא"", הזן את הקוד הבא:if (animalPhysicalDescription == "") { animalPhysicalDescription = "tbd"; }השווה את לולאת הזנת הנתונים של התיאור הפיזי שהושלמה לקוד הבא:
// 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 קובץ, בחר שמור.
פתח את לוח המסוף המשולב בקוד Visual Studio והזן את הפקודה כדי לבנות את התוכנית שלך.
אם דווחו שגיאות Build או אזהרות, תקן את הבעיות לפני שתמשיך.
בניית לולאה לקריאה ולאימות של תיאור האישיות של חיית המחמד
במשימה זו, תיצור do לולאה תיערך מחדש עד שהמשתמש יזין ערך מחרוזת המייצג תיאור של האישיות של חיית מחמד. ניתן לעשות שימוש חוזר במחרוזת הניתנת לביטול readResult כדי ללכוד את Console.ReadLine() הקלט. ניתן גם לעשות שימוש חוזר animalPersonalityDescription במשתנה המחרוזת שבו השתמשת בעת יצירת הנתונים לדוגמה. השתמש בערך שהוקצה לו animalPersonalityDescription בביטוי המוערך כקריטריוני יציאה עבור הלולאה do שלנו.
הוסף שורת קוד ריקה מתחת לבלוק הקוד של לולאת הזנת הנתונים של התיאור הפיזי.
כדי ליצור לולאה
doעבור הזנת נתונים של תיאור אישיות, הזן את הקוד הבא:// get a description of the pet's personality - animalPersonalityDescription can be blank. do { } while (animalPersonalityDescription == "");בתוך בלוק הקוד של המשפט שלך
do, כדי ליצור הצגת בקשה ולקרוא את קלט המשתמש, הזן את הקוד הבא:Console.WriteLine("Enter a description of the pet's personality (likes or dislikes, tricks, energy level)"); readResult = Console.ReadLine();כדי להבטיח שהערך של אינו
readResultNull לפני הקצאת הערך ל-readResultanimalPersonalityDescription, הזן את הקוד הבא:if (readResult != null) { animalPersonalityDescription = readResult.ToLower(); }כדי להקצות ערך של מתי
"tbd"animalPersonalityDescriptionהערך שהוזן הוא"", הזן את הקוד הבא:if (animalPersonalityDescription == "") { animalPersonalityDescription = "tbd"; }השווה את לולאת הזנת הנתונים של תיאור האישיות שהושלמה לקוד הבא:
// 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 קובץ, בחר שמור.
פתח את לוח המסוף המשולב בקוד Visual Studio והזן את הפקודה כדי לבנות את התוכנית שלך.
אם דווחו שגיאות Build או אזהרות, תקן את הבעיות לפני שתמשיך.
בנה לולאה כדי לקרוא ולאמת את הכינוי של חיית המחמד
במשימה זו, תיצור do לולאה תיערך מחדש עד שהמשתמש יזין ערך מחרוזת המייצג כינוי עבור חיית מחמד. ניתן לעשות שימוש חוזר במחרוזת הניתנת לביטול readResult כדי ללכוד את Console.ReadLine() הקלט. ניתן גם לעשות שימוש חוזר animalNickname במשתנה המחרוזת שבו השתמשת בעת יצירת הנתונים לדוגמה. השתמש בערך שהוקצה לו animalNickname בביטוי המוערך כקריטריוני יציאה עבור הלולאה do שלנו.
הוסף שורת קוד ריקה מתחת לבלוק הקוד של לולאת הזנת הנתונים של תיאור האישיות שלך.
כדי ליצור לולאה
doעבור הזנת נתונים של תיאור אישיות, הזן את הקוד הבא:// get the pet's nickname. animalNickname can be blank. do { } while (animalNickname == "");בתוך בלוק הקוד של המשפט שלך
do, כדי ליצור הצגת בקשה ולקרוא את קלט המשתמש, הזן את הקוד הבא:Console.WriteLine("Enter a nickname for the pet"); readResult = Console.ReadLine();כדי להבטיח שהערך של אינו
readResultNull לפני הקצאת הערך ל-readResultanimalNickname, הזן את הקוד הבא:if (readResult != null) { animalNickname = readResult.ToLower(); }כדי להקצות ערך של מתי
"tbd"animalNicknameהערך שהוזן הוא"", הזן את הקוד הבא:if (animalNickname == "") { animalNickname = "tbd"; }השווה את לולאת הזנת נתוני הכינויים שהושלמה לקוד הבא:
// 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 קובץ, בחר שמור.
פתח את לוח המסוף המשולב בקוד Visual Studio והזן את הפקודה כדי לבנות את התוכנית שלך.
אם דווחו שגיאות Build או אזהרות, תקן את הבעיות לפני שתמשיך.
שמור את פרטי חיית המחמד החדשה
במשימה זו, עליך לשמור את הערכים שהוזנו עבור מאפייני חיית המחמד במערך ourAnimals .
הוסף שורת קוד ריקה מתחת לבלוק הקוד של לולאת הזנת נתוני הכינויים שלך.
כדי לאחסן את ערכי הנתונים שצוינו על-ידי המשתמש, הזן את הקוד הבא:
// 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 קובץ, בחר שמור.
פתח את לוח המסוף המשולב בקוד Visual Studio והזן את הפקודה כדי לבנות את התוכנית שלך.
אם דווחו שגיאות Build או אזהרות, תקן את הבעיות לפני שתמשיך.
בדוק את העבודה שלך
במשימה זו, אתה מפעיל את היישום שלך מהמסוף המשולב ואמת שהזנה של נתוני חיית מחמד פועלת כראוי.
במידת הצורך, פתח את לוח המסוף המשולב של Visual Studio Code.
בשורת הפקודה של Terminal, הזן dotnet run
בשורת הפקודה של המסוף, הזן 2
ודא שלוח המסוף עודכן כדי להציג את הפלט הבא:
We currently have 4 pets that need homes. We can manage 4 more. Enter 'dog' or 'cat' to begin a new entryהזן את הערכים הבאים בהנחיות הפקודה של Terminal וודא שכל בקשה אחרונה תוצג:
- בשורת הפקודה
Enter 'dog' or 'cat' to begin a new entry, הזן כלב - בשורת הפקודה
Enter the pet's age or enter ? if unknown, הזן ? - בשורת הפקודה
Enter a physical description of the pet (size, color, gender, weight, housebroken), הקש על מקש Enter. - בשורת הפקודה
Enter a description of the pet's personality (likes or dislikes, tricks, energy level), הקש על מקש Enter. - בשורת הפקודה
Enter a nickname for the pet, הקש על מקש Enter.
יש לעדכן את לוח המסוף באופן הבא:
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)- בשורת הפקודה
בשורת הפקודה של Terminal, הזן n
ודא שלוח המסוף עודכן כדי להציג את אפשרויות התפריט הראשי.
בשורת הפקודה של המסוף, הזן 1
ודא שלוח המסוף עודכן כדי להציג את הפלט הבא:
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אם פרטי חיית המחמד החדשים שלך אינם מוצגים, ודא שכלמת את שורות הקוד כדי לשמור את הנתונים במערך האנימציה שלנו, וודא שכלית את שורת הקוד כדי לבנות את petID.
ודא שבאפשרותך ליצור תיאורים נוספים של בעלי חיים עבור כלבים וחתולים ושמאפיינים של בעלי חיים נשמרים במערך
ourAnimals.צא מהאפליקציה ולאחר מכן סגור את לוח המסוף.
ברכות על השלמת פרוייקט מונחה זה! יצרת יישום שמשלב משפטי בחירה ו איטרציה כדי להשיג את יעדי עיצוב היישום שלך. היישום שלך כולל למעלה מ- 300 שורות ומבצע משימות שייתכן שתמצא ביישום מקצועי. השלמת פרוייקט זה מהווה הישג משמעותי. תמשיך בעבודה הנהדרת!