תרגיל - יישום הסתעפויות קוד באמצעות משפטי בחירה
בתרגיל זה, אתה מפתח את הקוד המקצה באופן אוטומטי ציון מכתב של תלמיד בהתבסס על הציון המספרי הסופי שלו, ואתה מעדכן את היישום כך שתוצרות נוספות של פרוייקטי אשראי יעודכנו בציון הסופי של התלמיד. התחל בכתיבת מבנה שניתן if-elseif-else
להשתמש בו כדי להעריך את הציון המספרי של התלמיד ולהקצות את ציון האות. לאחר מכן, תבחן את דרישות האפליקציה הקשורות לפעולות אשראי נוספות ולאחר מכן תעיין בעדכונים הנדרשים של הקוד. המשימות המפורטות שאתה משלים במהלך תרגיל זה הן:
פתח מבנה
if-elseif-else
שמעריכה את הציון של התלמיד כדי להקצות ציון מכתב. הביטוי המוערך משווה את הציון המספרי של התלמיד לטווח ציונים שנלקחו מתרשים ציונים שסופק על-ידי המורה.שלב ציונים נוספים במערך הציונים של כל תלמיד ולאחר מכן עדכן את הקוד המשמש לחישוב הציון המספרי של התלמיד. ה
foreach
- המשמש לסכם את הציונים של התלמידים יעודכנו כדי לכלולif
משפט הכולל את הקוד. תוצאות המבחן חלות על הסכום בענף אחד, ועל ציונים נוספים של נקודות זכות בענף השני.
חשוב
עליך להשלים את התרגיל הקודם במודול זה, "יצירת מערכים ולולאות מערך", לפני שתתחיל בתרגיל זה.
הקצאת צציון אותיות באמצעות if-elseif-else
מבנה
במשימה זו, אתה מפתח מבנה if-elseif-else
שניתן להשתמש בו כדי להקצות צ'יכוני אותיות בהתבסס על ניקוד מספרי מחושב.
ודא שקובץ ה- Program.cs פתוח בעורך הקוד של Visual Studio.
צור שורת קוד ריקה מתחת לשורה המשמשת להצהיר על מערך
studentScores
.כדי ליצור משתנה מחרוזת שניתן להשתמש בו כדי להחזיק את ציון האות של התלמיד, הזן את הקוד הבא:
string currentStudentLetterGrade = "";
גלול מטה אל החלק התחתון של Program.cs הקובץ.
הוסף שורת קוד ריקה מתחת לשורה המקצה ערך מחושב ל-
currentStudentGrade
.קח דקה כדי לשקול את תרשים הציונים המציג את ציון האות המתאים לציונים מספריים.
97 - 100 A+ 93 - 96 A 90 - 92 A- 87 - 89 B+ 83 - 86 B 80 - 82 B- 77 - 79 C+ 73 - 76 C 70 - 72 C- 67 - 69 D+ 63 - 66 D 60 - 62 D- 0 - 59 F
שים לב ששורת הניקוד העליונה, הערכים גדולים או שווים ל- 97, הם בעלי ציון אות של "A+". במילים אחרות, אם הציון הסופי של תלמיד הוא >= 97, מוקצה לו ציון אות של "A+".
כדי ליצור משפט
if
המקצה כאשרA+
currentStudentLetterGrade
הניקוד של התלמיד גדול או שווה ל- 97, הזן את הקוד הבא:if (currentStudentGrade >= 97) currentStudentLetterGrade = "A+";
כדי ליצור משפט
else if
המקצה כאשרA
currentStudentLetterGrade
הניקוד של התלמיד גדול או שווה ל- 93, הזן את הקוד הבא:else if (currentStudentGrade >= 93) currentStudentLetterGrade = "A";
The
else if
will not assignA
tocurrentStudentLetterGrade
when the student's score is greater than or equal to 97 because that expression returnedtrue
in the precedingif
.באפשרותך להרחיב תבנית זו
else if
בעת מעבר מטה בשורות של תרשים ציון המכתב. כאשר תגיע לסוף התרשים, תוכל להשתמש בתרשיםelse
currentStudentGrade
סופי כדי ללכוד ערך שנמצא מתחת ל- 60.צור את
else if
המשפטים המקצה ציונים למכתבcurrentStudentLetterGrade
עבור טווחי ציונים בין 60 ל- 92.לאחר השלמת שלב זה, אמור להיות לך מבנה
if
משפט התואם לקוד הבא:if (currentStudentGrade >= 97) currentStudentLetterGrade = "A+"; else if (currentStudentGrade >= 93) currentStudentLetterGrade = "A"; else if (currentStudentGrade >= 90) currentStudentLetterGrade = "A-"; else if (currentStudentGrade >= 87) currentStudentLetterGrade = "B+"; else if (currentStudentGrade >= 83) currentStudentLetterGrade = "B"; else if (currentStudentGrade >= 80) currentStudentLetterGrade = "B-"; else if (currentStudentGrade >= 77) currentStudentLetterGrade = "C+"; else if (currentStudentGrade >= 73) currentStudentLetterGrade = "C"; else if (currentStudentGrade >= 70) currentStudentLetterGrade = "C-"; else if (currentStudentGrade >= 67) currentStudentLetterGrade = "D+"; else if (currentStudentGrade >= 63) currentStudentLetterGrade = "D"; else if (currentStudentGrade >= 60) currentStudentLetterGrade = "D-";
השלב האחרון הוא להוסיף את הכתובות
else
עבור כל יתר הציונים.כדי ליצור את
else
הפריטים שחלים על ציונים מתחת ל- 60, הזן את הקוד הבא:else currentStudentLetterGrade = "F";
הת להימשך דקה כדי לסקור את קוד היישום.
קוד Program.cs שלך אמור להתאים לקוד הבא:
// initialize variables - graded assignments int currentAssignments = 5; int[] sophiaScores = new int[] { 90, 86, 87, 98, 100 }; int[] andrewScores = new int[] { 92, 89, 81, 96, 90 }; int[] emmaScores = new int[] { 90, 85, 87, 98, 68 }; int[] loganScores = new int[] { 90, 95, 87, 88, 96 }; // Student names string[] studentNames = new string[] { "Sophia", "Andrew", "Emma", "Logan" }; int[] studentScores = new int[10]; string currentStudentLetterGrade = ""; // Display the Report Header Console.WriteLine("Student\t\tGrade\n"); foreach (string name in studentNames) { string currentStudent = name; if (currentStudent == "Sophia") // assign Sophia's scores to the studentScores array studentScores = sophiaScores; else if (currentStudent == "Andrew") // assign Andrew's scores to the studentScores array studentScores = andrewScores; else if (currentStudent == "Emma") // assign Emma's scores to the studentScores array studentScores = emmaScores; else if (currentStudent == "Logan") // assign Logan's scores to the studentScores array studentScores = loganScores; // initialize/reset the sum of scored assignments int sumAssignmentScores = 0; // initialize/reset the calculated average of exam + extra credit scores decimal currentStudentGrade = 0; foreach (int score in studentScores) { // add the exam score to the sum sumAssignmentScores += score; } currentStudentGrade = (decimal)(sumAssignmentScores) / currentAssignments; if (currentStudentGrade >= 97) currentStudentLetterGrade = "A+"; else if (currentStudentGrade >= 93) currentStudentLetterGrade = "A"; else if (currentStudentGrade >= 90) currentStudentLetterGrade = "A-"; else if (currentStudentGrade >= 87) currentStudentLetterGrade = "B+"; else if (currentStudentGrade >= 83) currentStudentLetterGrade = "B"; else if (currentStudentGrade >= 80) currentStudentLetterGrade = "B-"; else if (currentStudentGrade >= 77) currentStudentLetterGrade = "C+"; else if (currentStudentGrade >= 73) currentStudentLetterGrade = "C"; else if (currentStudentGrade >= 70) currentStudentLetterGrade = "C-"; else if (currentStudentGrade >= 67) currentStudentLetterGrade = "D+"; else if (currentStudentGrade >= 63) currentStudentLetterGrade = "D"; else if (currentStudentGrade >= 60) currentStudentLetterGrade = "D-"; else currentStudentLetterGrade = "F"; Console.WriteLine($"{name}\t\t{currentStudentGrade}\t?"); } Console.WriteLine("Press the Enter key to continue"); Console.ReadLine();
שים לב שהיישום שלך מאורגן בצורה לוגית מאוד מלמעלה למטה:
עליך לאתחל משתנים וליצור את המערכים המשמשים כמקור הנתונים עבור היישום. יש לך מערכים המספקים תוצאות של תלמידים וכן מערך שמספק את שמות התלמידים. יש לך גם מערך אגנוסטי
studentScores
של תלמידים בשם שניתן להשתמש בו כדי לקיים את הציונים של כל תלמיד כאשר מגיע הזמן לחשב את הציונים.יש לך הצהרה
Console.WriteLine()
שכותבים את תוויות העמודות עבור דוח ציון לקונסולה.יש לך לולאה
foreach
לאורך המערךstudentNames
, שמספקת לך בלוק קוד שחוזר על עצמו עבור כל תלמיד.אתה ממשיך לארגן את הקוד באמצעות גישה מלמעלה למטה בתוך בלוק הקוד של הלולאה
foreach
העליונה:יש לך משפט
if
להערכת שם התלמיד הנוכחי, לדוגמהif (currentStudent == "Sophia")
. כאשר הביטוי מוערך כ-true
, אתה מקצה את מערך הניקוד של התלמיד למערך האגנוסטי של התלמיד, לדוגמה:studentScores = sophiaScores;
אתה מצהיר על שני המשתנים הנדרשים כדי לחשב את ציוני התלמידים. המשתנה הראשון,
sumAssignmentScores
, משמש לחישוב הסכום של תוצאות הקצאה. המשתנה השני,currentStudentGrade
, משמש לחישוב ציון מספרי סופי. אתחל את המשתנים עם ערך של0
.יש לך לולאה
foreach
שעוברת איתות לחישובstudentScores
הערך שלsumAssignmentScores
.ניתן לחשב
currentStudentGrade
על-ידיsumAssignmentScores
חלוקת מספר המטלות בפנקס הציונים. מספר המטלות המציונים מוחזק במשתנה בשםcurrentAssignments
.יש לך מבנה
if-elseif-else
המקצה צרכי אותיות בהתבסס על הערך שלcurrentStudentGrade
.יש לך הצהרה
Console.WriteLine()
בכתיבת שמות תלמידים וציונים בקונסולה כדי להשלים את דוח הציונים.
אתר את
Console.WriteLine()
המשפט בכתיבת שמות תלמידים וציונים בקונסולה.Console.WriteLine($"{currentStudent}\t\t{currentStudentGrade}\t?");
שים לב שעדיין עליך לכלול את ציון האות המחושבת בדוח הציונים.
כדי לכלול את הערך
currentStudentLetterGrade
של בדוח הדרגות, עדכן את הקוד באופן הבא:Console.WriteLine($"{currentStudent}\t\t{currentStudentGrade}\t{currentStudentLetterGrade}");
בתפריט קובץ קוד של Visual Studio, לחץ על שמור.
בתצוגה Visual Studio Code EXPLORER, לחץ באמצעות לחצן העכבר הימני על Starter ולאחר מכן בחר פתח במסוף משולב.
בשורת הפקודה של מסוף, הקלד dotnet build ולאחר מכן הקש Enter.
אם אתה רואה הודעות שגיאה או אזהרה, עליך לתקן אותן לפני שתמשיך.
בשורת הפקודה של מסוף, הקלד dotnet run ולאחר מכן הקש Enter.
ודא שהקוד שלך יצר את הפלט הבא:
Student Grade Sophia 92.2 A- Andrew 89.6 B+ Emma 85.6 B Logan 91.2 A- Press the Enter key to continue
הבקשה שלך באמת תיתאחד. כעת עליך לשלב הקצאות אשראי נוספות.
שילוב ציונים נוספים של נקודות זכות בתוך ענף קוד
במשימה זו, תעדכן את האפליקציה כך שתאכל עבודת אשראי נוספת שהתלמידים הג לשלוח. התלמידים השלמו פרוייקטי אשראי נוספים כדי להרוויח נקודות בונוס, שעשויות לעזור להם להעלות את הציונים. המורה סיפק לך נקודות זכות נוספות עבור כל תלמיד בהתבסס על מה שהתלמידים הגילו:
- סופיה: 94, 90
- אנדרו: 89
- אמה: 89, 89, 89
- 96 שעות לוגן
יהיה עליך להשתמש בציונים נוספים אלה ובדרישות האפליקציה שסופקו על-ידי המורה כדי להשלים משימה זו.
קח דקה כדי לשקול את דרישות הפרוייקט הקשורות להקצאות אשראי נוספות.
היחידה "הכן" עבור מודול פרוייקט מונחה זה כוללת מקטע מבט כולל על פרוייקט הכולל את הדרישות הבאות:
הבקשה שלך צריכה להכיל הקצאות אשראי נוספות.
- יש לכלול ציונים נוספים במערך הניקוד של התלמיד.
- הקצאות אשראי נוספות יהיו שוות 10% של ציון במבחן כאשר הוא חל על הציון המספרי הסופי.
- יש להוסיף ציוני מטלה נוספים לציון המבחן הכולל של התלמיד לפני חישוב הציון המספרי הסופי.
שלב ציונים נוספים של נקודות זכות בעת חישוב המספרי הסופי וציון האות של התלמיד באופן הבא:
- הקוד שלך חייב לזהות הקצאות נקודות זכות נוספות בהתבסס על מספר הרכיבים במערך הניקוד של התלמיד.
- הקוד שלך חייב להחיל את פקטור ההשקלדה% 10 על הקצאות נקודות זכות נוספות לפני הוספת ציונים נוספים לסכום הציונים במבחנים.
גלול לחלק העליון של קובץ Program.cs שלך.
כדי להוסיף למערך את ציונים נוספים של מטלה
sophiaScores
אשראי של סופיה, עדכן את הקוד באופן הבא:int[] sophiaScores = new int[] { 90, 86, 87, 98, 100, 94, 90 };
שים לב שהוספת את נקודות הזכות הנוספות, ו-
94
90
, לרשימת הציונים הכלולים במערך. פשוט.הוסף את נקודות הזכות הנוספות עבור התלמידים האחרים למערכים של הציונים שלהם.
ודא שמערכים של ניקודי התלמידים תואמים לקוד הבא:
int[] sophiaScores = new int[] { 90, 86, 87, 98, 100, 94, 90 }; int[] andrewScores = new int[] { 92, 89, 81, 96, 90, 89 }; int[] emmaScores = new int[] { 90, 85, 87, 98, 68, 89, 89, 89 }; int[] loganScores = new int[] { 90, 95, 87, 88, 96, 96 };
גלול מטה כדי לאתר את הלולאה
foreach
הפנימית המשמשת לסיכום תוצאות הקצאה.foreach (int score in studentScores) { // add the exam score to the sum sumAssignmentScores += score; }
קח דקה כדי לשקול את העדכונים שעליך ליישם.
תחילה, שקול את מה שאתה כבר יודע:
- אתה יודע שלולאה
foreach
תחזור באופן רציף בין כל הרכיבים של מערך, ללא קשר למספר הרכיבים שהערך מכיל. - אתה יודע שלתלמידים יש חמישה תוצאות מבחנים, שיש לך משתנה קשור:
int currentAssignments = 5;
. - אתה יודע שניקודי האשראי הנוספות נכללים בסוף המערך.
- אתה יודע שציון אשראי נוסף שווה 10% של ציון מבחן.
- אתה יודע שיש להוסיף ציוני אשראי נוספים לסכום ציוני הבחינות לפני חישוב הציון המספרי הסופי של התלמיד.
כעת שקול את מה שאתה צריך:
- עליך לזהות אילו ציונים במערך הציונים הם הציונים הנוספות של האשראי.
- עליך להתאים את הערך של כל ניקוד אשראי נוסף כך שהם שווים 10% של ציון מבחן.
- עליך לעדכן את החישוב המשמש לסכם ציונים של תלמידים כך שהסכום כולל את ציונים נוספים של נקודות זכות.
- אתה יודע שלולאה
זהה את עדכוני הקידוד הנדרשים כדי להבחין בין צוני מבחנים ותוצאות נקודות זכות נוספות.
אתה יודע שציון האשראי הנוסף מופיע אחרי חמשת הציונים במבחן. במילים אחרות, ניקוד האשראי הנוסף הראשון יהיה הציון השישי במערך הציונים. קשר גומלין זה בין סוג הניקוד למספר רכיב המערך מציין שאתה זקוק למונה בתוך הלולאה
foreach
. לאחר שהערך של המונה גדול ממספר הציונים במבחן, אתה יודע שהציון הנוכחי הוא ניקוד אשראי נוסף.הנה מה שאתה צריך כדי ליישם כדי להבחין בין תוצאות מבחנים ותוצאות נקודות זכות נוספות:
- עליך להצהיר על מספר שלם מעל הלולאה הפנימית
foreach
שניתן להשתמש בה כדי לספור הקצאות עם ציון. באפשרותך לבחור את השם של משתנה זהgradedAssignments
. - עליך לשנות את ההפרש בתוך
gradedAssignments
1
הלולאהforeach
. אם אתה מאתחלgradedAssignments
ל0
- , תוכל להרווחים קבועים של המונה בחלק העליון של בלוקforeach
הקוד. - אתה זקוק להצהרה
if
שמעריכה אם המונה שלך,gradedAssignments
, גדול ממספר הציונים לבחינות. המשתנה שמכיל את מספר הקצאות המבחנים נקראcurrentAssignments
. שם זה עלול לגרום לבלבול כעת, לאחר שיש לך הקצאות אשראי נוספות בנוסף למטלות מבחנים. עליך לשנות את שם המשתנה מ- לcurrentAssignments
-examAssignments
. לאחר ששינוי שם זה מיושם, באפשרותך להשתמש ב- כדיif
להעריך(gradedAssignments <= examAssignments)
את .
- עליך להצהיר על מספר שלם מעל הלולאה הפנימית
שנה את שם המשתנה מ-
currentAssignments
ל-examAssignments
.חשוב
בעת שינוי שם משתנה, עליך לוודא שאתה מעדכן את כל המופעים של המשתנה ביישום שלך. במקרה זה, קיימים שני מופעים.
החלונית Visual Studio Code Editor תומכת בשימוש בקיצור המקשים Control + F כדי למצוא את הטקסט שאתה מציין. הלוח Visual Studio Code Editor תומך גם בשימוש בקיצור המקשים Control + H כדי לחפש ולהחליף את הטקסט שאתה מציין.
צור שורת קוד ריקה מעל הלולאה
foreach
המשמשת לסיכום תוצאות הקצאה.בשורת הקוד הריק, כדי להצהיר על משתנה של מספר שלם
gradedAssignments
בשם ולאתחל אותו ל0
- , הזן את הקוד הבא:// initialize/reset a counter for the number of assignments int gradedAssignments = 0;
צור שורת קוד ריקה בחלק העליון של בלוק הקוד עבור הלולאה
foreach
המשמשת לסכם תוצאות הקצאה.בשורת הקוד הריק, כדי להרווחים קבועים עבור
gradedAssignments
1
כל הפעלה של הלולאהforeach
, הזן את הקוד הבא:// increment the assignment counter gradedAssignments += 1;
כדי ליצור משפט
if
שמעריכה את הביטוי(gradedAssignments <= examAssignments)
, הזן את הקוד הבא:if (gradedAssignments <= examAssignments)
זהה את עדכוני הקידוד הדרושים לחישוב המשמש לסכם ציונים של תלמידים.
כאשר המשפט
if
שלך מוערך(gradedAssignments <= examAssignments)
כtrue
- , הציון הוא ציון מבחן, ובאפשרותך להוסיף את הערך לסכום שלך. אם הביטוי אינו מוערך כtrue
- , הציון הוא ניקוד אשראי נוסף, ועלך לחלק אותו ב- 10 לפני שתוכל להוסיף את הערך לסכום שלך. מבנהif-else
יהיה מושלם.שים לב שהמשוואה הקיימת,
sumAssignmentScores += score;
, היא החישוב הנכון שבו יש להשתמש כאשר המשפטif
שלך מוערך כ(gradedAssignments <= examAssignments)
true
- .צור שורת קוד ריקה מתחת ל-
sumAssignmentScores += score;
.בשורת הקוד הריק, כדי לבנות את החלק
else
של מבנהif-else
, הקלד else ולאחר מכן הקש Enter.כדי ליצור את המשוואה שתוסיף ציון אשראי נוסף לסכום, הזן את הקוד הבא:
// add the extra credit points to the sum - bonus points equal to 10% of an exam score sumAssignmentScores += score / 10;
בתפריט קובץ קוד של Visual Studio, לחץ על שמור.
הת להימשך דקה כדי לסקור את קוד היישום.
ודא שהיישום המעודכן תואם לקוד הבא:
// initialize variables - graded assignments int examAssignments = 5; int[] sophiaScores = new int[] { 90, 86, 87, 98, 100, 94, 90 }; int[] andrewScores = new int[] { 92, 89, 81, 96, 90, 89 }; int[] emmaScores = new int[] { 90, 85, 87, 98, 68, 89, 89, 89 }; int[] loganScores = new int[] { 90, 95, 87, 88, 96, 96 }; // Student names string[] studentNames = new string[] { "Sophia", "Andrew", "Emma", "Logan" }; int[] studentScores = new int[10]; string currentStudentLetterGrade = ""; // Write the Report Header to the console Console.WriteLine("Student\t\tGrade\n"); foreach (string name in studentNames) { string currentStudent = name; if (currentStudent == "Sophia") studentScores = sophiaScores; else if (currentStudent == "Andrew") studentScores = andrewScores; else if (currentStudent == "Emma") studentScores = emmaScores; else if (currentStudent == "Logan") studentScores = loganScores; // initialize/reset the sum of scored assignments int sumAssignmentScores = 0; // initialize/reset the calculated average of exam + extra credit scores decimal currentStudentGrade = 0; // initialize/reset a counter for the number of assignment int gradedAssignments = 0; // loop through the scores array and complete calculations for currentStudent foreach (int score in studentScores) { // increment the assignment counter gradedAssignments += 1; if (gradedAssignments <= examAssignments) // add the exam score to the sum sumAssignmentScores += score; else // add the extra credit points to the sum - bonus points equal to 10% of an exam score sumAssignmentScores += score / 10; } currentStudentGrade = (decimal)(sumAssignmentScores) / examAssignments; if (currentStudentGrade >= 97) currentStudentLetterGrade = "A+"; else if (currentStudentGrade >= 93) currentStudentLetterGrade = "A"; else if (currentStudentGrade >= 90) currentStudentLetterGrade = "A-"; else if (currentStudentGrade >= 87) currentStudentLetterGrade = "B+"; else if (currentStudentGrade >= 83) currentStudentLetterGrade = "B"; else if (currentStudentGrade >= 80) currentStudentLetterGrade = "B-"; else if (currentStudentGrade >= 77) currentStudentLetterGrade = "C+"; else if (currentStudentGrade >= 73) currentStudentLetterGrade = "C"; else if (currentStudentGrade >= 70) currentStudentLetterGrade = "C-"; else if (currentStudentGrade >= 67) currentStudentLetterGrade = "D+"; else if (currentStudentGrade >= 63) currentStudentLetterGrade = "D"; else if (currentStudentGrade >= 60) currentStudentLetterGrade = "D-"; else currentStudentLetterGrade = "F"; //Console.WriteLine("Student\t\tGrade\tLetter Grade\n"); Console.WriteLine($"{currentStudent}\t\t{currentStudentGrade}\t{currentStudentLetterGrade}"); } // required for running in VS Code (keeps the Output windows open to view results) Console.WriteLine("\n\rPress the Enter key to continue"); Console.ReadLine();
בדוק את העבודה שלך
במשימה זו, תפעיל את היישום כדי לוודא שלוגיקת הקוד שלך פועלת כצפוי.
ודא ששמרת את השינויים שביצעת בקובץ Program.cs שלך.
בתצוגה Visual Studio Code EXPLORER, לחץ באמצעות לחצן העכבר הימני על Starter ולאחר מכן בחר פתח במסוף משולב.
בשורת הפקודה של מסוף, הקלד dotnet build ולאחר מכן הקש Enter.
אם אתה רואה הודעות שגיאה או אזהרה, עליך לתקן אותן לפני שתמשיך.
בשורת הפקודה של מסוף, הקלד dotnet run ולאחר מכן הקש Enter.
ודא שהקוד שלך יצר את הפלט הבא:
Student Grade Sophia 95.8 A Andrew 91.2 A- Emma 90.4 A- Logan 93 A Press the Enter key to continue
בלוח TERMINAL, כדי להפסיק את הפעלת היישום, הקש על מקש Enter.
סגור את לוח המסוף.
התחשב בדרישות הפרוייקט הבאות:
- האפליקציה שלך צריכה לתמוך בהוספת תלמידים ותוצאות נוספות עם השפעה מינימלית על הקוד.
האם התחמיץ דרישות קריטיות עבור היישום שלך?
בדוק אם שילוב המערכים ולולאות
foreach
מאפשר לך לכלול תלמידים נוספים ללא שכתוב קוד מלא.גלול לחלק העליון של יישום Program.cs ולאחר מכן עדכן את המערכים באופן הבא:
int[] sophiaScores = new int[] { 90, 86, 87, 98, 100, 94, 90 }; int[] andrewScores = new int[] { 92, 89, 81, 96, 90, 89 }; int[] emmaScores = new int[] { 90, 85, 87, 98, 68, 89, 89, 89 }; int[] loganScores = new int[] { 90, 95, 87, 88, 96, 96 }; int[] beckyScores = new int[] { 92, 91, 90, 91, 92, 92, 92 }; int[] chrisScores = new int[] { 84, 86, 88, 90, 92, 94, 96, 98 }; int[] ericScores = new int[] { 80, 90, 100, 80, 90, 100, 80, 90 }; int[] gregorScores = new int[] { 91, 91, 91, 91, 91, 91, 91 }; // Student names string[] studentNames = new string[] { "Sophia", "Andrew", "Emma", "Logan", "Becky", "Chris", "Eric", "Gregor" };
גלול מטה אל לולאת
foreach
השמות ולאחר מכן אתר את שורות הקוד הבאות:if (currentStudent == "Sophia") studentScores = sophiaScores; else if (currentStudent == "Andrew") studentScores = andrewScores; else if (currentStudent == "Emma") studentScores = emmaScores; else if (currentStudent == "Logan") studentScores = loganScores;
כדי לכלול את התלמידים החדשים, הוסף את הקוד הבא לסוף מבנה הבחירה שלך:
else if (currentStudent == "Becky") studentScores = beckyScores; else if (currentStudent == "Chris") studentScores = chrisScores; else if (currentStudent == "Eric") studentScores = ericScores; else if (currentStudent == "Gregor") studentScores = gregorScores; else continue;
בתפריט קובץ קוד של Visual Studio, לחץ על שמור.
בתצוגה Visual Studio Code EXPLORER, לחץ באמצעות לחצן העכבר הימני על Starter ולאחר מכן בחר פתח במסוף משולב.
בשורת הפקודה של מסוף, הקלד dotnet build ולאחר מכן הקש Enter.
אם אתה רואה הודעות שגיאה או אזהרה, עליך לתקן אותן לפני שתמשיך.
בשורת הפקודה של מסוף, הקלד dotnet run ולאחר מכן הקש Enter.
ודא שהקוד שלך יצר את הפלט הבא:
Student Grade Sophia 95.8 A Andrew 91.2 A- Emma 90.4 A- Logan 93 A Becky 94.8 A Chris 93.4 A Eric 93.4 A Gregor 94.6 A Press the Enter key to continue
בלוח TERMINAL, כדי להפסיק את הפעלת היישום, הקש על מקש Enter.
סגור את לוח המסוף.
מזל טוב, השלמת פרוייקט מונחה זה!