Cara Menggunakan Visual Basic untuk Membuat Tes Pilihan Ganda

Buka proyek Visual Basic baru. Tambahkan dua label, tiga tombol radio, dan dua kontrol tombol ke formulir. Tarik kedua label ke atas dengan Label1 di atas Label2. Seret RadioButton1, RadioButton2 dan RadioButton3 untuk berbaris secara vertikal di bawah label. Seret dua tombol di bawah tombol radio dengan Tombol1 di kiri dan Tombol2 di kanan.

Baris pertama membuat array dua dimensi. Dimensi pertama adalah untuk setiap pertanyaan dan dimensi kedua adalah untuk pertanyaan itu sendiri, tiga pilihan jawaban dan jawaban yang benar. Baris kedua membuat larik untuk menyimpan jawaban pengguna. Baris ketiga membuat variabel penghitung yang melacak pertanyaan yang diajukan pengguna.

Private Sub GetQuestions() pertanyaan = New String(,) {{"Berapa banyak warna dalam pelangi?", "5", "6", "7", "7"}, {"Siapa yang membintangi Pirates of the Caribbean?", "Johnny Depp", "John Malkovich", "John Cusack", "Johnny Depp"}, {"Apa ibu kota Florida?", "Miami", "Tallahassee", "Jacksonville", "Tallahassee"}} End Sub

Subrutin ini hanya menginisialisasi tiga pertanyaan dan jawaban dalam array pertanyaan. Anda dapat menambahkan pertanyaan tambahan atau mendapatkannya dengan cara lain, seperti melalui file teks, tetapi jika Anda lakukan, ingat untuk mengubah ukuran array pertanyaan dan jawaban untuk mengakomodasi jumlah pertanyaan.

Private Sub MarkTest() Dim grade As Integer = 0 Untuk i = 0 Sampai 2 Jika jawaban (i) = pertanyaan (i, 4) Maka grade += 1 End If Next Label1.Text = "Tes selesai!" Label2.Text = "Anda mencetak " & nilai & " dari " & jawaban. Panjang & "!" RadioButton1.Enabled = False RadioButton2.Enabled = False RadioButton3.Enabled = False Button1.Enabled = False Button2.Enabled = False End Sub

Baris pertama mendeklarasikan subrutin yang menandai pengujian. Ini menciptakan variabel lokal untuk menghitung skor, lalu menggilir jawaban dalam larik pertanyaan dan jawaban yang dikirimkan oleh pengguna. Untuk setiap jawaban yang cocok, nilainya naik satu. Ini kemudian menampilkan skor di label dan menonaktifkan kontrol lainnya.

Saya. Teks = "Kuis Pilihan Ganda Saya!" GetQuestions() quesNum = 1 Label1.Text = "Question" & quesNum & " dari " & jawaban. Panjang Label2.Teks = pertanyaan (0, 0) Button1.Text = "Sebelumnya" Button2.Text = "Berikutnya" RadioButton1.Text = pertanyaan (0, 1) RadioButton2.Text = pertanyaan (0, 2) RadioButton3.Text = pertanyaan (0, 3)

Baris pertama mengatur judul di bilah judul. Baris berikutnya memanggil subrutin GetQuestions(). Baris ketiga menginisialisasi variabel penghitung pertanyaan. Baris keempat menampilkan nomor pertanyaan yang digunakan pengguna. Baris kelima menampilkan pertanyaan satu di label. Baris keenam dan ketujuh mengubah teks untuk dua tombol. Tiga baris terakhir menyisipkan tiga jawaban pilihan ganda sebagai teks untuk tiga tombol radio.

Jika quesNum > 1 Maka quesNum -= 1 Label1.Text = "Question" & quesNum & " dari 3" Label2.Text = pertanyaan (quesNum - 1, 0) RadioButton1.Text = pertanyaan (quesNum - 1, 1) RadioButton2.Text = pertanyaan (quesNum - 1, 2) RadioButton3.Text = pertanyaan (quesNum - 1, 3) If Button2.Text = "Kirim" Kemudian Button2.Text = "Next" End If End If

Ini adalah kode untuk tombol "Sebelumnya". Ini pertama-tama memeriksa untuk melihat apakah pengguna menekan tombol saat sudah pada pertanyaan pertama. Jika tidak, itu akan mengurangi penghitung pertanyaan satu per satu dan memperbarui teks untuk label dan tombol radio untuk menampilkan pertanyaan sebelumnya. Jika pengguna berada di pertanyaan terakhir, teks pada Button2 berubah dari "Kirim" kembali ke "Berikutnya."

If RadioButton1.Checked = True Maka jawaban (quesNum - 1) = RadioButton1.Text ElseIf RadioButton2.Checked = True Maka jawaban (quesNum - 1) = RadioButton2.Text ElseIf RadioButton3.Checked = Benar Kemudian menjawab (quesNum - 1) = RadioButton3.Text End If RadioButton1.Focus() If quesNum < 3 Maka quesNum += 1 Label1.Text = "Question" & quesNum & " dari " & jawaban. Panjang Label2.Text = pertanyaan (quesNum - 1, 0) RadioButton1.Text = pertanyaan (quesNum - 1, 1) RadioButton2.Text = pertanyaan (quesNum - 1, 2) RadioButton3.Text = pertanyaan (quesNum - 1, 3) Jika quesNum = 3 Kemudian Button2.Text = "Kirim" End If Else MarkTest() Berakhir jika

Ini adalah kode untuk tombol "Next". Tujuh baris pertama memeriksa untuk melihat tombol radio apa yang telah dipilih pengguna, lalu menyimpan jawaban itu ke larik jawaban. Baris berikutnya memfokuskan pemilihan tombol radio pada RadioButton1. Baris berikutnya memeriksa untuk melihat bahwa pengguna tidak berada di pertanyaan terakhir. Jika ini benar, ini akan menambah penghitung pertanyaan satu per satu dan memperbarui label dan tombol radio untuk menampilkan pertanyaan berikutnya. Kemudian memeriksa untuk melihat apakah pengguna sekarang berada di pertanyaan terakhir. Jika demikian, itu akan mengubah teks untuk tombol Berikutnya dari "Berikutnya" menjadi "Kirim." Jika pengguna sudah berada di pertanyaan terakhir dan mengklik "Kirim," program memanggil fungsi "MarkTest" untuk mendapatkan skor pengguna.