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

ผู้เขียน: Clyde Lopez
วันที่สร้าง: 25 สิงหาคม 2021
วันที่อัปเดต: 5 พฤษภาคม 2024
Anonim
สอน Visual Basic .NET พื้นฐาน ตอนที่ 10 - การใช้ If...Then...Else และ Select Case
วิดีโอ: สอน Visual Basic .NET พื้นฐาน ตอนที่ 10 - การใช้ If...Then...Else และ Select Case

เนื้อหา

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


คำสั่ง

ใช้ Visual Basic เพื่อสร้างคำถาม & คำตอบของคุณเอง (ตกลงไม่ใช่ภาพที่ตกลงโดย ipal จาก Fotolia.com)
  1. เปิดโครงการ Visual Basic ใหม่ เพิ่มสองป้ายชื่อปุ่มตัวเลือกสามปุ่มและปุ่มควบคุมสองปุ่มไปยังแบบฟอร์ม ลากสองป้ายกำกับไปด้านบนด้วย Label1 ที่ด้านบนของ Label2 ลาก RadioButton1, RadioButton2 และ RadioButton3 และจัดแนวไว้ใต้ป้ายกำกับ ลากสองปุ่มใต้ปุ่ม "radio" ด้วย Button1 ทางด้านซ้ายและ Button2 ทางด้านขวา

  2. กด F7 เพื่อเปิดหน้าต่างรหัส ใส่รหัสต่อไปนี้ในระดับชั้นเรียน:

    คำถามติ่มซำ (2, 4) ในฐานะที่เป็นคำตอบของติ่มซำ (2) ในฐานะที่เป็น Dim Dim NumPerg As Integer

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


  3. ใส่รหัสต่อไปนี้:

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

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

  4. ใส่รหัสต่อไปนี้:

    Private Sub Evaluate Test () Dim puntuacao As Integer = 0 สำหรับ i = 0 ถึง 2 หากคำตอบ (i) = คำถาม (i, 4) จากนั้นให้คะแนน = 1 สิ้นสุดหาก Label1 ถัดไป = "การทดสอบสิ้นสุดแล้ว!" Label2.Text = "คุณกด" & "& answer.Length & &" ตาราง & "คำถาม!" RadioButton1.Enabled = RadioButton2.Enabled ที่ผิดพลาด = False RadioButton3.Enabled = เท็จ Button1.Enabled = เท็จ Button2.Enabled = ปลายย่อยปลอม


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

  5. เปิดรูทีน Form1_Load () แล้วพิมพ์รหัสต่อไปนี้:

    Me.Text = "การทดสอบหลายตัวเลือกของฉัน!" GetPerFacts () NumPerg = 1 Label1.Text = "คำถาม" & quesNum & "ของ" & answer.Length Label2.Text = คำถาม (0, 0) Button1.Text = "ก่อนหน้า" Button2.Text = "Next" RadioButton1.Text = คำถาม (0, 1) RadioButton2.Text = คำถาม (0, 2) RadioButton3.Text = คำถาม (0, 3)

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

  6. เปิดรูทีนย่อย Button1_Click () และพิมพ์รหัสต่อไปนี้

    ถ้า numPerg> 1 จากนั้น numPerg - = 1 Label1.Text = "คำถาม" & quesNum & "3" Label2.Text = คำถาม (numPerg - 1, 0) RadioButton1.Text = คำถาม (numPerg - 1, 1) RadioButton2.Text = คำถาม (numPerg - 1, 2) RadioButton3.Text = คำถาม (numPerg - 1, 3) ถ้า Button2.Text = "ส่ง" จากนั้น Button2.Text = "ถัดไป" สิ้นสุดหากสิ้นสุดหาก

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

  7. เปิดรูทีนย่อย Button2_Click () และพิมพ์รหัสต่อไปนี้:

    ถ้า RadioButton1.Checked = True แล้วตอบกลับ (numPerg - 1) = RadioButton1.Text ElseIf RadioButton2.Checked = True แล้วตอบกลับ (numPerg - 1) = RadioButton2.Text ElseIf RadioButton3.Checked = True จากนั้นตอบกลับ (numPerg - 1) = RadioButton3.Checked ข้อความสิ้นสุดหาก RadioButton1.Focus () ถ้า numPerg <3 ดังนั้น numPerg + = 1 Label1.Text = "คำถาม" & quesNum & "ของ" & answer.Length Label2.Text = คำถาม (numPerg - 1, 0) RadioButton1.Text = (numPerg - 1, 1) RadioButton2.Text = คำถาม (numPerg - 1, 2) RadioButton3.Text = คำถาม (numPerg - 1, 3) ถ้า numPerg = 3 จากนั้น Button2.Text = "ส่ง" สิ้นสุดถ้ามี EvaluateTest สิ้นสุดถ้า

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

  8. บันทึกโปรแกรม VisualBasic ของคุณ กด F5 เพื่อเรียกใช้