Kā izmantot Visual Basic, lai izveidotu atbilžu variantu testu

Atveriet jaunu Visual Basic projektu. Pievienojiet veidlapai divas etiķetes, trīs radio pogas un divas pogas vadīklas. Velciet abas etiķetes uz augšu, lai Label1 virs Label2. Velciet RadioButton1, RadioButton2 un RadioButton3, lai novietotu vertikāli zem etiķetēm. Velciet divas pogas zem radiopogām ar pogu 1 kreisajā pusē un Button2 labajā pusē.

Pirmajā rindā tiek izveidots divdimensiju masīvs. Pirmā dimensija ir katram jautājumam, bet otrā dimensija ir pašam jautājumam, trīs atbilžu variantiem un pareizajai atbildei. Otrajā rindā tiek izveidots masīvs, lai saglabātu lietotāja atbildes. Trešajā rindā tiek izveidots skaitītāja mainīgais, kas seko līdzi lietotāja uzdotajam jautājumam.

Privātie apakšgrupas GetQuestions() jautājumi = New String(,) {{"Cik krāsu ir varavīksnē?", "5", "6", "7", "7"}, {"Kurš spēlēja filmās Karību jūras pirāti?", "Džonijs Deps", "Džons Malkovičs", "Džons Kusakas", "Džonijs Deps"}, {"Kas ir Floridas galvaspilsēta?", "Maiami", "Tallahassee", "Jacksonville", "Tallahassee"}} Beigas

Šī apakšprogramma vienkārši inicializē trīs jautājumus un atbildes jautājumu masīvā. Varat pievienot papildu jautājumus vai iegūt tos citos veidos, piemēram, izmantojot teksta failu, bet, ja jūs neaizmirstiet mainīt jautājumu un atbilžu masīvu lielumu, lai pielāgotos to skaitam jautājumiem.

Privāts apakšējais MarkTest() Blāvs vērtējums Kā vesels skaitlis = 0 Ja i = 0 līdz 2 Ja atbildes (i) = jautājumi (i, 4) Tad atzīme += 1 Beigas Ja Nākamais Label1.Text = "Pārbaude pabeigta!" Label2.Text = "Jūs ieguvāt " & atzīmi & " no " & atbildes. Garums & "!" RadioButton1.Enabled = Viltus RadioButton2.Enabled = Viltus RadioButton3.Enabled = Viltus Button1.Enabled = Aplam Button2.Enabled = Nepatiess beigu apakšpunkts

Pirmajā rindā tiek deklarēta apakšprogramma, kas atzīmē testu. Tas izveido lokālu mainīgo, lai saskaitītu rezultātu, pēc tam pārlasa atbildes jautājumu masīvā un lietotāja iesniegtās atbildes. Katrai atbildei, kas atbilst, atzīme paaugstinās par vienu. Pēc tam tas parāda rezultātu etiķetēs un atspējo pārējās vadīklas.

Es. Text = "Mana vairāku izvēļu viktorīna!" GetQuestions() quesNum = 1 Label1.Text = "Jautājums " & quesNum & " no " & atbildēm. Garums Label2.Text = jautājumi (0, 0) Button1.Text = "Iepriekšējais" Button2.Text = "Nākamais" RadioButton1.Text = jautājumi (0, 1) RadioButton2.Text = jautājumi (0, 2) RadioButton3.Text = jautājumi (0, 3)

Pirmajā rindā tiek iestatīts nosaukums virsraksta joslā. Nākamajā rindā tiek izsaukta GetQuestions() apakšprogramma. Trešā rinda inicializē jautājumu skaitītāja mainīgo. Ceturtajā rindā tiek parādīts, uz kuru jautājuma numuru lietotājs ir izvēlēts. Piektajā rindā tiek parādīts pirmais jautājums etiķetē. Sestā un septītā rinda maina abu pogu tekstu. Pēdējās trīs rindiņas ievieto trīs atbildes ar vairākiem atbilžu variantiem kā tekstu trim radiopogām.

Ja quesNum > 1, tad quesNum -= 1 Label1.Text = "Jautājums " & quesNum & " no 3" Label2.Text = jautājumi (quesNum - 1, 0) RadioButton1.Text = jautājumi (quesNum - 1, 1) RadioButton2.Text = jautājumi (quesNum - 1, 2) RadioButton3.Text = jautājumi (quesNum - 1, 3) If Button2.Text = "Iesniegt" Tad Button2.Text = "Nākamais" Beigas Ja Beigas Ja

Šis ir pogas "Iepriekšējais" kods. Vispirms tiek pārbaudīts, vai lietotājs nospieda pogu, jau uzdodot pirmo jautājumu. Ja nē, tas samazina jautājumu skaitītāju par vienu un atjaunina etiķešu un radio pogu tekstu, lai parādītu iepriekšējo jautājumu. Ja lietotājs uzdeva pēdējo jautājumu, 2. pogas teksts tiek mainīts no “Iesniegt” atpakaļ uz “Nākamais”.

Ja RadioButton1.Checked = patiess Tad atbildes (quesNum - 1) = RadioButton1.Text ElseIf RadioButton2.Checked = True Tad atbildes (quesNum - 1) = RadioButton2.Text ElseIf RadioButton3.Checked = patiess Tad atbildes (quesNum - 1) = RadioButton3.Text Beigas, ja RadioButton1.Focus() Ja quesNum < 3 Tad quesNum += 1 Label1.Text = "Jautājums " & quesNum & " no "& atbildes. Garums Label2.Text = jautājumi (quesNum - 1, 0) RadioButton1.Text = jautājumi (quesNum - 1, 1) RadioButton2.Text = jautājumi (quesNum - 1, 2) RadioButton3.Text = jautājumi (quesNum - 1, 3) Ja quesNum = 3 Tad Button2.Text = "Iesniegt" Beigas If Else MarkTest() Beigas Ja

Šis ir pogas "Nākamais" kods. Pirmās septiņas rindiņas pārbauda, ​​kuru radio pogu lietotājs ir atlasījis, un pēc tam saglabā šo atbildi atbilžu masīvā. Nākamajā rindā radio pogas atlase tiek fokusēta uz RadioButton1. Nākamajā rindā tiek pārbaudīts, vai lietotājs neatrodas pēdējā jautājumā. Ja tā ir taisnība, tas palielina jautājumu skaitītāju par vienu un atjaunina etiķetes un radio pogas, lai parādītu nākamo jautājumu. Pēc tam tas pārbauda, ​​vai lietotājs tagad ir uz pēdējo jautājumu. Ja tā, tas maina pogas Tālāk tekstu no "Tālāk" uz "Iesniegt". Ja lietotājs jau bija pēdējais jautājums un noklikšķinot uz "Iesniegt", programma izsauc funkciju "MarkTest", lai iegūtu lietotāja rezultātu.