כיצד להשתמש ב-Visual Basic כדי ליצור מבחן רב ברירה

פתח פרויקט Visual Basic חדש. הוסף לטופס שתי תוויות, שלושה לחצני בחירה ושני פקדי לחצנים. גרור את שתי התוויות לראש עם Label1 על גבי Label2. גרור את RadioButton1, RadioButton2 ו-RadioButton3 כדי ליישר קו אנכי מתחת לתוויות. גרור את שני הלחצנים מתחת ללחצני הבחירה עם כפתור 1 משמאל וכפתור 2 מימין.

השורה הראשונה יוצרת מערך דו מימדי. המימד הראשון הוא עבור כל שאלה והממד השני הוא עבור השאלה עצמה, שלוש אפשרויות תשובות והתשובה הנכונה. השורה השנייה יוצרת מערך לאחסון תשובות המשתמש. השורה השלישית יוצרת משתנה מונה שעוקב אחרי השאלה שהמשתמש נמצא עליה.

Private Sub GetQuestions() question = New String(,) {{"כמה צבעים יש בקשת?", "5", "6", "7", "7"}, {"מי כיכב בשודדי הקאריביים?", "ג'וני דפ", "ג'ון מלקוביץ'", "ג'ון קיוזאק", "ג'וני דפ"}, {"מהי בירת פלורידה?", "מיאמי", "טלהאסי", "ג'קסונוויל", "טלהאסי"}} סיום משנה

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

Private Sub MarkTest() עמום ציון כמספר שלם = 0 עבור i = 0 עד 2 אם תשובות (i) = שאלות (i, 4) אז ציון += 1 End If Next Label1.Text = "המבחן הסתיים!" Label2.Text = "הרשמת " & ציון & " מתוך " & תשובות. אורך & "!" RadioButton1.Enabled = False RadioButton2.Enabled = False RadioButton3.Enabled = False Button1.Enabled = False Button2.Enabled = False End Sub

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

לִי. טקסט = "חידון רב הברירות שלי!" GetQuestions() quesNum = 1 Label1.Text = "שאלה " & quesNum & " של " ותשובות. Length Label2.Text = שאלות (0, 0) Button1.Text = "הקודם" Button2.Text = "הבא" RadioButton1.Text = שאלות (0, 1) RadioButton2.Text = שאלות (0, 2) RadioButton3.Text = שאלות (0, 3)

השורה הראשונה מגדירה את הכותרת בשורת הכותרת. השורה הבאה קוראת ל-GetQuestions() תת-השגרה. השורה השלישית מאתחלת את משתנה מונה השאלות. השורה הרביעית מציגה באיזה מספר שאלה נמצא המשתמש. השורה החמישית מציגה שאלה אחת בתווית. השורה השישית והשביעית משנות את הטקסט של שני הכפתורים. שלוש השורות האחרונות מכניסות את שלוש התשובות הרב-ברירותיות כטקסט עבור שלושת לחצני הבחירה.

אם quesNum > 1 אז quesNum -= 1 Label1.Text = "שאלה " & quesNum & " של 3" Label2.Text = שאלות (quesNum - 1, 0) RadioButton1.Text = שאלות (quesNum - 1, 1) RadioButton2.Text = שאלות (quesNum - 1, 2) RadioButton3.Text = שאלות (quesNum - 1, 3) If Button2.Text = "Submit" Then Button2.Text = "Next" End If End If

זהו הקוד של כפתור "הקודם". הוא בודק תחילה אם המשתמש לחץ על הכפתור בזמן שהוא כבר על השאלה הראשונה. אם לא, הוא מקטין את מונה השאלות באחת ומעדכן את הטקסט עבור התוויות ולחצני הבחירה כדי להציג את השאלה הקודמת. אם המשתמש היה בשאלה האחרונה, הטקסט בכפתור2 משתנה מ"שלח" בחזרה ל"הבא".

If RadioButton1.Checked = True Then answers (quesNum - 1) = RadioButton1.Text ElseIf RadioButton2.Checked = True Then answers (quesNum - 1) = RadioButton2.Text ElseIf RadioButton3.Checked = True Then עונה (quesNum - 1) = RadioButton3.Text End If RadioButton1.Focus() If quesNum < 3 Then quesNum += 1 Label1.Text = "Question " & quesNum & " של " & תשובות. Length Label2.Text = שאלות (quesNum - 1, 0) RadioButton1.Text = שאלות (quesNum - 1, 1) RadioButton2.Text = שאלות (quesNum - 1, 2) RadioButton3.Text = שאלות (quesNum - 1, 3) If quesNum = 3 Then Button2.Text = "Submit" End If Else MarkTest() סוף אם

זה הקוד של כפתור "הבא". שבע השורות הראשונות בודקות באיזה לחצן בחירה המשתמש בחר, ואז שומרת את התשובה במערך התשובות. השורה הבאה ממקדת את בחירת לחצן הבחירה ב-RadioButton1. השורה הבאה בודקת שהמשתמש לא נמצא בשאלה הסופית. אם זה נכון, הוא מגדיל את מונה השאלות באחת ומעדכן את התוויות ולחצני הבחירה כדי להציג את השאלה הבאה. לאחר מכן הוא בודק אם המשתמש נמצא כעת בשאלה הסופית. אם כן, זה משנה את הטקסט של הכפתור הבא מ"הבא" ל"שלח". אם המשתמש כבר היה ב- שאלה אחרונה ולחצה על "שלח", התוכנית קוראת לפונקציה "MarkTest" כדי לקבל את הציון של המשתמש.