วิธีใช้ Visual Basic เพื่อสร้างการทดสอบแบบปรนัย

click fraud protection

เปิดโครงการ Visual Basic ใหม่ เพิ่มป้ายชื่อสองป้าย ปุ่มตัวเลือกสามปุ่ม และตัวควบคุมปุ่มสองปุ่มในแบบฟอร์ม ลากป้ายกำกับทั้งสองไปที่ด้านบนด้วย Label1 ที่ด้านบนของ Label2 ลาก RadioButton1, RadioButton2 และ RadioButton3 เพื่อจัดเรียงในแนวตั้งใต้ป้ายกำกับ ลากสองปุ่มใต้ปุ่มตัวเลือกด้วย Button1 ทางด้านซ้ายและ Button2 ทางด้านขวา

บรรทัดแรกสร้างอาร์เรย์สองมิติ มิติแรกมีไว้สำหรับคำถามแต่ละข้อ และมิติที่สองมีไว้สำหรับตัวคำถามเอง สามตัวเลือกคำตอบและคำตอบที่ถูกต้อง บรรทัดที่สองสร้างอาร์เรย์เพื่อเก็บคำตอบของผู้ใช้ บรรทัดที่สามสร้างตัวแปรตัวนับที่ติดตามคำถามที่ผู้ใช้เปิดอยู่

Private Sub GetQuestions() คำถาม = สตริงใหม่ (,) {{"รุ้งมีกี่สี", "5", "6", "7", "7"}, {"ใครแสดงใน Pirates of the Caribbean", "Johnny Depp", "John Malkovich", "John Cusack", "Johnny Depp"}, {"เมืองหลวงของฟลอริดาคืออะไร", "ไมอามี่", "แทลลาแฮสซี", "แจ็กสันวิลล์", "แทลลาแฮสซี"}} End Sub

รูทีนย่อยนี้เริ่มต้นคำถามและคำตอบสามข้อในอาร์เรย์คำถาม คุณสามารถเพิ่มคำถามเพิ่มเติมหรือสอบถามด้วยวิธีอื่นได้ เช่น ผ่านไฟล์ข้อความ แต่ถ้าคุณ ทำอย่าลืมเปลี่ยนขนาดของคำถามและคำตอบอาร์เรย์เพื่อรองรับจำนวน คำถาม.

Private Sub MarkTest() Dim grade As Integer = 0 For i = 0 To 2 ถ้าคำตอบ (i) = คำถาม (i, 4) แล้ว เกรด += 1 จบ ถ้า Next Label1.Text = "ทดสอบเสร็จแล้ว!" Label2.Text = "คุณได้คะแนน " & เกรด & " ออกจาก " & คำตอบ ความยาว & "!" RadioButton1.Enabled = False RadioButton2.Enabled = False RadioButton3.Enabled = False Button1.Enabled = False Button2.Enabled = ปลายทางเท็จ

บรรทัดแรกประกาศรูทีนย่อยที่ทำเครื่องหมายการทดสอบ จะสร้างตัวแปรท้องถิ่นเพื่อนับคะแนน จากนั้นวนรอบคำตอบในอาร์เรย์คำถามและคำตอบที่ผู้ใช้ส่งมา สำหรับคำตอบแต่ละข้อที่ตรงกัน คะแนนจะเพิ่มขึ้นทีละหนึ่ง จากนั้นจะแสดงคะแนนในป้ายกำกับและปิดใช้งานส่วนควบคุมที่เหลือ

ฉัน. Text = "แบบทดสอบตัวเลือกของฉัน!" GetQuestions() quesNum = 1 Label1.Text = "คำถาม " & quesNum & " ของ " & คำตอบ 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 = "Question " & quesNum & " of 3" Label2.Text = คำถาม (quesNum - 1, 0) RadioButton1.Text = คำถาม (quesNum - 1, 1) RadioButton2.Text = คำถาม (quesNum - 1, 2) RadioButton3.Text = คำถาม (quesNum - 1, 3) ถ้า Button2.Text = "ส่ง" จากนั้น Button2.Text = "ถัดไป" สิ้นสุดถ้าสิ้นสุดถ้า

นี่คือรหัสสำหรับปุ่ม "ก่อนหน้า" ก่อนอื่นจะตรวจสอบเพื่อดูว่าผู้ใช้กดปุ่มในขณะที่คำถามแรกอยู่แล้วหรือไม่ หากไม่เป็นเช่นนั้น ระบบจะลดตัวนับคำถามทีละหนึ่งและอัปเดตข้อความสำหรับป้ายกำกับและปุ่มตัวเลือกเพื่อแสดงคำถามก่อนหน้า หากผู้ใช้อยู่ในคำถามสุดท้าย ข้อความบน Button2 จะเปลี่ยนจาก "ส่ง" กลับไปเป็น "ถัดไป"

ถ้า RadioButton1.Checked = True คำตอบ (quesNum - 1) = RadioButton1.Text ElseIf RadioButton2.Checked = True แล้วคำตอบ (quesNum - 1) = RadioButton2.Text ElseIf RadioButton3.Checked = True แล้วตอบ (quesNum - 1) = RadioButton3.Text End ถ้า RadioButton1.Focus() ถ้า quesNum < 3 แล้ว quesNum += 1 Label1.Text = "Question " & quesNum & " of " & คำตอบ ความยาว Label2.Text = คำถาม (quesNum - 1, 0) RadioButton1.Text = คำถาม (quesNum - 1, 1) RadioButton2.Text = คำถาม (quesNum - 1, 2) RadioButton3.Text = คำถาม (quesNum - 1, 3) ถ้า quesNum = 3 จากนั้น Button2.Text = "ส่ง" สิ้นสุดหากเป็นอย่างอื่น MarkTest () จบถ้า

นี่คือรหัสสำหรับปุ่ม "ถัดไป" เจ็ดบรรทัดแรกตรวจสอบเพื่อดูว่าผู้ใช้เลือกปุ่มตัวเลือกใด จากนั้นบันทึกคำตอบนั้นลงในอาร์เรย์คำตอบ บรรทัดถัดไปเน้นการเลือกปุ่มตัวเลือกบน RadioButton1 บรรทัดถัดไปจะตรวจสอบว่าผู้ใช้ไม่อยู่ในคำถามสุดท้าย หากเป็นจริง จะเพิ่มตัวนับคำถามหนึ่งตัวและอัปเดตป้ายกำกับและปุ่มตัวเลือกเพื่อแสดงคำถามถัดไป จากนั้นจะตรวจสอบเพื่อดูว่าผู้ใช้อยู่ในคำถามสุดท้ายหรือไม่ หากเป็นเช่นนั้น ระบบจะเปลี่ยนข้อความสำหรับปุ่มถัดไปจาก "ถัดไป" เป็น "ส่ง" หากผู้ใช้อยู่ใน .แล้ว คำถามสุดท้ายและคลิก "ส่ง" โปรแกรมเรียกใช้ฟังก์ชัน "MarkTest" เพื่อรับคะแนนของผู้ใช้

หมวดหมู่

ล่าสุด

ฉันจะแปลงไฟล์ Google Earth เป็น AVI ได้อย่างไร

ฉันจะแปลงไฟล์ Google Earth เป็น AVI ได้อย่างไร

ทัวร์แกรนด์แคนยอนโดยไม่ต้องไปที่นั่น มุ่งสู่ยอ...

วิธีซิงค์เว็บเมลกับ Outlook

วิธีซิงค์เว็บเมลกับ Outlook

เรียนรู้วิธีซิงค์เว็บเมลของคุณกับ Outlook Micr...

วิธีซิงค์ Samsung Galaxy S กับ iTunes

วิธีซิงค์ Samsung Galaxy S กับ iTunes

คุณสามารถซิงค์สมาร์ทโฟน Samsung Galaxy S กับ iT...