A Visual Basic használata feleletválasztós teszt létrehozásához

Nyisson meg egy új Visual Basic projektet. Adjon hozzá két címkét, három rádiógombot és két gombvezérlőt az űrlaphoz. Húzza a két címkét a tetejére úgy, hogy a Label1 a Label2 tetejére kerüljön. Húzza el a RadioButton1, RadioButton2 és RadioButton3 gombot, hogy függőlegesen sorakozzon a címkék alatt. Húzza el a rádiógombok alatti két gombot úgy, hogy a Button1 a bal oldalon és a Button2 a jobb oldalon található.

Az első sor egy kétdimenziós tömböt hoz létre. Az első dimenzió minden kérdéshez, a második dimenzió pedig magának a kérdésnek, három válaszlehetőségnek és a helyes válasznak szól. A második sor létrehoz egy tömböt a felhasználó válaszainak tárolására. A harmadik sor egy számlálóváltozót hoz létre, amely nyomon követi a felhasználó kérdését.

Private Sub GetQuestions() kérdések = New String(,) {{"Hány szín van a szivárványban?", "5", "6", "7", "7"}, {"Ki szerepelt a Karib-tenger kalózaiban?", "Johnny Depp", "John Malkovich", "John Cusack", "Johnny Depp"}, {"Mi Florida fővárosa?", "Miami", "Tallahassee", "Jacksonville", "Tallahassee"}} End Sub

Ez az alprogram egyszerűen inicializálja a három kérdést és a választ a kérdéstömbben. Felvehet további kérdéseket, vagy más módon, például szöveges fájlon keresztül is megkérheti őket, de ha ne felejtse el módosítani a kérdés és válasz tömbök méretét, hogy megfeleljen a számának kérdéseket.

Privát Sub MarkTest() Halvány osztályzat Egész = 0 Ha i = 0-tól 2-ig Ha válaszok (i) = kérdések (i, 4) Akkor évfolyam += 1 End If Next Label1.Text = "A teszt befejeződött!" Label2.Text = "Ön " & osztályzatot & " pontot ért el a " & válaszol. Hossz és "!" RadioButton1.Enabled = False RadioButton2.Enabled = False RadioButton3.Enabled = False Button1.Enabled = False Button2.Enabled = False End Sub

Az első sor deklarál egy szubrutint, amely a tesztet jelöli. Létrehoz egy helyi változót a pontszám megszámlálásához, majd végigfut a kérdések tömbben lévő válaszokon és a felhasználó által beküldött válaszokon. Minden egyező válasz esetén az osztályzat eggyel nő. Ezután megjeleníti a pontszámot a címkéken, és letiltja a többi vezérlőt.

Nekem. Text = "Az én feleletválasztós kvízem!" GetQuestions() quesNum = 1 Label1.Text = "Kérdés " & quesNum & " / " & válaszok. Length Label2.Text = kérdések (0, 0) Button1.Text = "Előző" Button2.Text = "Next" RadioButton1.Text = kérdések (0, 1) RadioButton2.Text = kérdések (0, 2) RadioButton3.Text = kérdések (0, 3)

Az első sor beállítja a címet a címsorban. A következő sor a GetQuestions() szubrutint hívja meg. A harmadik sor inicializálja a kérdésszámláló változót. A negyedik sor azt mutatja, hogy a felhasználó melyik kérdésszámon van. Az ötödik sor a címke első kérdését jeleníti meg. A hatodik és hetedik sor megváltoztatja a két gomb szövegét. Az utolsó három sor beszúrja a három feleletválasztós választ a három választógomb szövegeként.

Ha quesNum > 1, akkor quesNum -= 1 Label1.Text = "Kérdés " & quesNum & " of 3" Label2.Text = kérdések (quesNum - 1, 0) RadioButton1.Text = kérdések (quesNum - 1, 1) RadioButton2.Text = kérdések (quesNum - 1, 2) RadioButton3.Text = kérdések (quesNum - 1, 3) If Button2.Text = "Küldés" Akkor Button2.Text = "Next" End If End If

Ez az „Előző” gomb kódja. Először azt ellenőrzi, hogy a felhasználó megnyomta-e a gombot az első kérdésnél. Ha nem, akkor eggyel csökkenti a kérdésszámlálót, és frissíti a címkék és választógombok szövegét, hogy az előző kérdést jelenítse meg. Ha a felhasználó az utolsó kérdésnél volt, a Button2 szövege „Küldés”-ről „Következő”-re változik.

Ha RadioButton1.Checked = igaz Akkor válaszok (quesNum - 1) = RadioButton1.Text ElseIf RadioButton2.Checked = True Akkor válaszok (quesNum - 1) = RadioButton2.Text ElseIf RadioButton3.Checked = igaz Akkor válaszok (quesNum - 1) = RadioButton3.Text End If RadioButton1.Focus() If quesNum < 3 Akkor quesNum += 1 Label1.Text = "Kérdés " & quesNum & " / "& válaszol. Length Label2.Text = kérdések (quesNum - 1, 0) RadioButton1.Text = kérdések (quesNum - 1, 1) RadioButton2.Text = kérdések (quesNum - 1, 2) RadioButton3.Text = kérdések (quesNum - 1, 3) Ha quesNum = 3 Akkor Button2.Text = "Küldés" End If Else MarkTest() Vége Ha

Ez a „Tovább” gomb kódja. Az első hét sor ellenőrzi, hogy a felhasználó melyik választógombot választotta, majd elmenti a választ a választömbbe. A következő sor a rádiógomb kiválasztását a RadioButton1-re fókuszálja. A következő sor azt ellenőrzi, hogy a felhasználó nem az utolsó kérdésnél van-e. Ha ez igaz, akkor eggyel megnöveli a kérdésszámlálót, és frissíti a címkéket és a rádiógombokat, hogy a következő kérdést jelenítse meg. Ezután ellenőrzi, hogy a felhasználó az utolsó kérdésnél van-e. Ha igen, akkor a Következő gomb szövegét „Tovább”-ról „Küldés”-re módosítja. Ha a felhasználó már a az utolsó kérdésre, és a „Küldés” gombra kattintott, a program meghívja a „MarkTest” funkciót, hogy megkapja a felhasználó pontszámát.