תרגיל - כתוב קוד כדי לקרוא ולשמור נתוני מערך חדשים של הנפשות

הושלמה

בתרגיל זה, מפתחים את לולאות אימות הזנת הנתונים עבור כל מאפיין של חיית מחמד ולאחר מכן מאחסנים את נתוני המערך ourAnimals החדשים. המשימות המפורטות שאתה משלים במהלך תרגיל זה הן:

  1. קריאה ואימתה של מינים: בניית לולאה ומבנה הקוד הפנימי המשמש להזנה ולאימות של מינים של חיות מחמד.
  2. בנה מזהה חיית מחמד: כתוב את הקוד המשתמש ב- petCount וב שם המין כדי לבנות את ערך petID.
  3. קרא ואמת גיל: בנה לולאה ואת מבנה הקוד הפנימי המשמש להזנה ולאימות של גיל חיית המחמד.
  4. קרא ואמת תיאור פיזי: בנה לולאה ואת מבנה הקוד הפנימי המשמש להזנת תיאור פיזי של חיית המחמד.
  5. קרא ואמת תיאור אישיות: בנה לולאה ואת מבנה הקוד הפנימי המשמש להזנת תיאור של האישיות של חיית המחמד.
  6. קרא ואמת כינוי: בנה לולאה ואת מבנה הקוד הפנימי המשמש להזנת כינוי עבור חיית המחמד.
  7. בדיקת אימות: בצע בדיקות אימות עבור הקוד שפיתת בתרגיל זה.

חשוב

עליך להשלים את התרגיל הקודם במודול זה לפני שתתחיל בתרגיל זה.

בניית לולאה לקריאה ולאימות של זני חיית המחמד

במשימה זו, תיצור לולאה do ותחזור על תשובתה עד שהמשתמש יזין שם מינים חוקי, כלב או חתול. תוכל לעשות שימוש חוזר במחרוזת הניתנת לביטול readResult כדי ללכוד את Console.ReadLine() הקלט. ניתן גם לעשות שימוש חוזר במשתנה animalSpecies המחרוזת שבו השתמשת בעת יצירת הנתונים לדוגמה. עליך להוסיף משתנה בוליאני חדש בשם validEntry לאפליקציה שלך. השתמש בביטוי validEntry המוערך כקריטריוני יציאה עבור הלולאה do שלך.

  1. ודא ש- Visual Studio Code פתוח ושקובץ ה- Program.cs שלך גלוי בעורך.

  2. אתר את while (anotherPet == "y" && petCount < maxPets) המשפט ולאחר מכן הוסף שורת קוד ריקה בבלוק הקוד העליון.

  3. בשורת הקוד הריקה שיצרת, כדי להצהיר עם validEntry ערך התחלתי של false, הזן את הקוד הבא:

    bool validEntry = false;
    
    
  4. בשורה שמתחת להצהרה על validEntry, כדי ליצור לולאה עבור do הזנת נתוני מינים, הזן את הקוד הבא:

    // get species (cat or dog) - string animalSpecies is a required field 
    do
    {
    } while (validEntry == false);
    
    
  5. בתוך בלוק הקוד של המשפט שלך do , כדי ליצור הצגת בקשה ולקרוא את קלט המשתמש, הזן את הקוד הבא:

    Console.WriteLine("\n\rEnter 'dog' or 'cat' to begin a new entry");
    readResult = Console.ReadLine();
    
    
  6. כדי להבטיח שהערך של אינו readResult NULL לפני הקצאת הערך ל- readResultanimalSpecies, הזן את הקוד הבא:

    if (readResult != null)
    {
        animalSpecies = readResult.ToLower();
    
    }
    
  7. בשורה שמתחת להקצאת animalSpecies הערך, כדי לוודא שהיא מכילה animalSpecies שם מינים חוקי, הזן את הקוד הבא:

    if (animalSpecies != "dog" && animalSpecies != "cat")
    {
        validEntry = false;
    }
    else
    {
        validEntry = true;
    }
    
  8. השווה את לולאת הזנת הנתונים של שם המין שהושלם לקוד הבא:

    // 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 קובץ, בחר שמור.

  10. פתח את לוח המסוף המשולב בקוד Visual Studio והזן את הפקודה כדי לבנות את התוכנית שלך.

    אם דווחו שגיאות Build או אזהרות, תקן את הבעיות לפני שתמשיך.

בנה את ערך מזהה בעלי החיים

במשימה זו, עליך להשתמש ב- animalSpecies ו petCount - כדי ליצור את הערך שאתה מקצה ל- animalID.

  1. הוסף שורת קוד ריקה מתחת לבלוק הקוד של לולאת הזנת הנתונים של שם המין שלך.

  2. כדי ליצור ולהקצות את 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();
    
    
  3. בתפריט קוד Visual Studio קובץ, בחר שמור.

בנה לולאה כדי לקרוא ולאמת את גיל חיית המחמד

במשימה זו, do? תיצור לולאה שנוערכת באופן אוטומטי עד שהמשתמש יזין מספר שלם חוקי או מספר שלם חוקי המייצג את גיל חיית המחמד בשנים. ניתן לעשות שימוש חוזר במחרוזת הניתנת לביטול readResult כדי ללכוד את Console.ReadLine() הקלט. ניתן גם לעשות שימוש חוזר animalAge במשתנה המחרוזת שבו השתמשת בעת יצירת הנתונים לדוגמה. כדי לבדוק אם המחרוזת מייצגת animalAge מספר שלם חוקי, השתמש בפונקציה validEntry Boolean. אתה מצהיר על משתנה מספר שלם חדש בשם petAge כדי לאחסן את הערך המספרי. שוב, הבוליאני validEntry משמש בביטוי המוערך כקריטריוני יציאה עבור הלולאה do שלנו.

  1. הוסף שורת קוד ריקה מתחת לשורה המשמשת להקצאת ערך למשתנה animalID שלנו.

  2. כדי ליצור לולאה do עבור הזנת נתוני גיל, הזן את הקוד הבא:

    // get the pet's age. can be ? at initial entry. 
    do
    {
    } while (validEntry == false);
    
    
  3. בתוך בלוק הקוד של המשפט שלך do , כדי להצהיר על משתנה מספר שלם בשם petAge, הזן את הקוד הבא:

    int petAge;
    
    
  4. בשורה שמתחת להצהרה על petAge, כדי להציג בקשה להודעה ולקרוא את קלט המשתמש, הזן את הקוד הבא:

    Console.WriteLine("Enter the pet's age or enter ? if unknown");
    readResult = Console.ReadLine();
    
    
  5. כדי להבטיח שהערך של אינו readResult Null לפני הקצאת הערך ל- readResultanimalAge, הזן את הקוד הבא:

    if (readResult != null)
    {
        animalAge = readResult;
    
    }
    
  6. בשורה שמתחת להקצאת animalAge הערך, כדי לבדוק אם המשתמש שהוזן ? לפני בדיקת מספר שלם חוקי, הזן את הקוד הבא:

    if (animalAge != "?")
    {
        validEntry = int.TryParse(animalAge, out petAge);
    }
    else
    {
        validEntry = true;
    }
    
  7. השווה את לולאת הזנת נתוני הגיל שהושלמה לקוד הבא:

    // 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 קובץ, בחר שמור.

  9. פתח את לוח המסוף המשולב בקוד Visual Studio והזן את הפקודה כדי לבנות את התוכנית שלך.

    אם דווחו שגיאות Build או אזהרות, תקן את הבעיות לפני שתמשיך.

בניית לולאה לקריאה ולאימות של התיאור הפיזי של חיית המחמד

במשימה זו, אתה יוצר לולאה do שגורמת לחזרה עד שהמשתמש מזין ערך מחרוזת המייצג תיאור פיזי של חיית מחמד. ניתן לעשות שימוש חוזר במחרוזת הניתנת לביטול readResult כדי ללכוד את Console.ReadLine() הקלט. ניתן גם לעשות שימוש חוזר animalPhysicalDescription במשתנה המחרוזת שבו השתמשת בעת יצירת הנתונים לדוגמה. השתמש בערך שהוקצה לו animalPhysicalDescription בביטוי המוערך כקריטריוני יציאה עבור הלולאה do שלנו.

  1. הוסף שורת קוד ריקה מתחת לבלוק הקוד של לולאת הזנת נתוני הגיל שלך.

  2. כדי ליצור לולאה do עבור הזנת נתונים של תיאור פיזי, הזן את הקוד הבא:

    // get a description of the pet's physical appearance/condition - animalPhysicalDescription can be blank.
    do
    {
    } while (animalPhysicalDescription == "");
    
    
  3. בתוך בלוק הקוד של המשפט שלך do , כדי ליצור הצגת בקשה ולקרוא את קלט המשתמש, הזן את הקוד הבא:

    Console.WriteLine("Enter a physical description of the pet (size, color, gender, weight, housebroken)");
    readResult = Console.ReadLine();
    
    
  4. כדי להבטיח שהערך של אינו readResult Null לפני הקצאת הערך ל- readResultanimalPhysicalDescription, הזן את הקוד הבא:

    if (readResult != null)
    {
        animalPhysicalDescription = readResult.ToLower();
    
    }
    
  5. כדי להקצות ערך של מתי "tbd"animalPhysicalDescription הערך שהוזן הוא "", הזן את הקוד הבא:

    if (animalPhysicalDescription == "")
    {
        animalPhysicalDescription = "tbd";
    }
    
  6. השווה את לולאת הזנת הנתונים של התיאור הפיזי שהושלמה לקוד הבא:

    // 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 קובץ, בחר שמור.

  8. פתח את לוח המסוף המשולב בקוד Visual Studio והזן את הפקודה כדי לבנות את התוכנית שלך.

    אם דווחו שגיאות Build או אזהרות, תקן את הבעיות לפני שתמשיך.

בניית לולאה לקריאה ולאימות של תיאור האישיות של חיית המחמד

במשימה זו, תיצור do לולאה תיערך מחדש עד שהמשתמש יזין ערך מחרוזת המייצג תיאור של האישיות של חיית מחמד. ניתן לעשות שימוש חוזר במחרוזת הניתנת לביטול readResult כדי ללכוד את Console.ReadLine() הקלט. ניתן גם לעשות שימוש חוזר animalPersonalityDescription במשתנה המחרוזת שבו השתמשת בעת יצירת הנתונים לדוגמה. השתמש בערך שהוקצה לו animalPersonalityDescription בביטוי המוערך כקריטריוני יציאה עבור הלולאה do שלנו.

  1. הוסף שורת קוד ריקה מתחת לבלוק הקוד של לולאת הזנת הנתונים של התיאור הפיזי.

  2. כדי ליצור לולאה do עבור הזנת נתונים של תיאור אישיות, הזן את הקוד הבא:

    // get a description of the pet's personality - animalPersonalityDescription can be blank.
    do
    {
    } while (animalPersonalityDescription == "");
    
    
  3. בתוך בלוק הקוד של המשפט שלך do , כדי ליצור הצגת בקשה ולקרוא את קלט המשתמש, הזן את הקוד הבא:

    Console.WriteLine("Enter a description of the pet's personality (likes or dislikes, tricks, energy level)");
    readResult = Console.ReadLine();
    
    
  4. כדי להבטיח שהערך של אינו readResult Null לפני הקצאת הערך ל- readResultanimalPersonalityDescription, הזן את הקוד הבא:

    if (readResult != null)
    {
        animalPersonalityDescription = readResult.ToLower();
    
    }
    
  5. כדי להקצות ערך של מתי "tbd"animalPersonalityDescription הערך שהוזן הוא "", הזן את הקוד הבא:

    if (animalPersonalityDescription == "")
    {
        animalPersonalityDescription = "tbd";
    }
    
  6. השווה את לולאת הזנת הנתונים של תיאור האישיות שהושלמה לקוד הבא:

    // 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 קובץ, בחר שמור.

  8. פתח את לוח המסוף המשולב בקוד Visual Studio והזן את הפקודה כדי לבנות את התוכנית שלך.

    אם דווחו שגיאות Build או אזהרות, תקן את הבעיות לפני שתמשיך.

בנה לולאה כדי לקרוא ולאמת את הכינוי של חיית המחמד

במשימה זו, תיצור do לולאה תיערך מחדש עד שהמשתמש יזין ערך מחרוזת המייצג כינוי עבור חיית מחמד. ניתן לעשות שימוש חוזר במחרוזת הניתנת לביטול readResult כדי ללכוד את Console.ReadLine() הקלט. ניתן גם לעשות שימוש חוזר animalNickname במשתנה המחרוזת שבו השתמשת בעת יצירת הנתונים לדוגמה. השתמש בערך שהוקצה לו animalNickname בביטוי המוערך כקריטריוני יציאה עבור הלולאה do שלנו.

  1. הוסף שורת קוד ריקה מתחת לבלוק הקוד של לולאת הזנת הנתונים של תיאור האישיות שלך.

  2. כדי ליצור לולאה do עבור הזנת נתונים של תיאור אישיות, הזן את הקוד הבא:

    // get the pet's nickname. animalNickname can be blank.
    do
    {
    } while (animalNickname == "");
    
    
  3. בתוך בלוק הקוד של המשפט שלך do , כדי ליצור הצגת בקשה ולקרוא את קלט המשתמש, הזן את הקוד הבא:

    Console.WriteLine("Enter a nickname for the pet");
    readResult = Console.ReadLine();
    
    
  4. כדי להבטיח שהערך של אינו readResult Null לפני הקצאת הערך ל- readResultanimalNickname, הזן את הקוד הבא:

    if (readResult != null)
    {
        animalNickname = readResult.ToLower();
    
    }
    
  5. כדי להקצות ערך של מתי "tbd"animalNickname הערך שהוזן הוא "", הזן את הקוד הבא:

    if (animalNickname == "")
    {
        animalNickname = "tbd";
    }
    
  6. השווה את לולאת הזנת נתוני הכינויים שהושלמה לקוד הבא:

    // 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 קובץ, בחר שמור.

  8. פתח את לוח המסוף המשולב בקוד Visual Studio והזן את הפקודה כדי לבנות את התוכנית שלך.

    אם דווחו שגיאות Build או אזהרות, תקן את הבעיות לפני שתמשיך.

שמור את פרטי חיית המחמד החדשה

במשימה זו, עליך לשמור את הערכים שהוזנו עבור מאפייני חיית המחמד במערך ourAnimals .

  1. הוסף שורת קוד ריקה מתחת לבלוק הקוד של לולאת הזנת נתוני הכינויים שלך.

  2. כדי לאחסן את ערכי הנתונים שצוינו על-ידי המשתמש, הזן את הקוד הבא:

    // 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 קובץ, בחר שמור.

  4. פתח את לוח המסוף המשולב בקוד Visual Studio והזן את הפקודה כדי לבנות את התוכנית שלך.

    אם דווחו שגיאות Build או אזהרות, תקן את הבעיות לפני שתמשיך.

בדוק את העבודה שלך

במשימה זו, אתה מפעיל את היישום שלך מהמסוף המשולב ואמת שהזנה של נתוני חיית מחמד פועלת כראוי.

  1. במידת הצורך, פתח את לוח המסוף המשולב של Visual Studio Code.

  2. בשורת הפקודה של Terminal, הזן dotnet run

  3. בשורת הפקודה של המסוף, הזן 2

  4. ודא שלוח המסוף עודכן כדי להציג את הפלט הבא:

    We currently have 4 pets that need homes. We can manage 4 more.
    
    Enter 'dog' or 'cat' to begin a new entry
    
  5. הזן את הערכים הבאים בהנחיות הפקודה של 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)
    
  6. בשורת הפקודה של Terminal, הזן n

  7. ודא שלוח המסוף עודכן כדי להציג את אפשרויות התפריט הראשי.

  8. בשורת הפקודה של המסוף, הזן 1

  9. ודא שלוח המסוף עודכן כדי להציג את הפלט הבא:

    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.

  10. ודא שבאפשרותך ליצור תיאורים נוספים של בעלי חיים עבור כלבים וחתולים ושמאפיינים של בעלי חיים נשמרים במערך ourAnimals .

  11. צא מהאפליקציה ולאחר מכן סגור את לוח המסוף.

ברכות על השלמת פרוייקט מונחה זה! יצרת יישום שמשלב משפטי בחירה ו איטרציה כדי להשיג את יעדי עיצוב היישום שלך. היישום שלך כולל למעלה מ- 300 שורות ומבצע משימות שייתכן שתמצא ביישום מקצועי. השלמת פרוייקט זה מהווה הישג משמעותי. תמשיך בעבודה הנהדרת!