VBS vragen met meer andwoorden

Status
Niet open voor verdere reacties.

treinengek

Gebruiker
Lid geworden
23 apr 2007
Berichten
82
hallo

ik ben bezig voor school om vragen te maken in vbs. maar er moeten meerdere antwoorden mogelijk zijn. ik heb hier een werkend scriptje:

msgbox" Instructies: Typ zonder typfouten! Het andwoord bestaat altijd uit 1 woord! Gebruik GEEN hoofdletters!"
msgbox" Je begint met opdracht 1!"
s = inputbox("Vraag 1 a: Welk bekend gas bestaat hoofdzakelijk uit methaan?")
if s = "aardgas" then
msgbox "Goed Andwoord!!"
else
msgbox "Fout! :("
end if
s = inputbox("Vraag 1 b: Wat is de molecuulformule van methaan? (let op! Andwoord bestaat uit 2 hoofdletters en 1 cijfer!)")
if s = "CH4" then
msgbox "Goed Andwoord!!"
else
msgbox "Fout!"
end if
s = inputbox("Vraag 1 c: Wat is de molecuulmassa van methaan? (gebruik je binas! antwoord bestaat uit cijfers! voorbeeld: ...u)")
if s = "16u" then
msgbox "Goed Andwoord!!"
else
msgbox "Fout!"
end if
msgbox" Vraag 1d: Maak een tekening van een methaanmolecuul. (open paint, teken de molecuul, sla hem op, print hem uit, lever hem in bij je leraar!)"
msgbox" Einde van Opdracht 1!"

Dit werkt helemaal maar er is altijd maar 1 antwoord mogelijk. Hoe kan ik meerdre andwoorden mogelijk maken. bijv:

if s = "aardgas" then
msgbox "Goed Andwoord!!"
else
msgbox "Fout! :("

dat daarzo ook Aardgas kan of AARDGAS.

alvast bedankt
mvg Corné Methorst
 
Code:
dim s as string
s = inputbox("Uhm... ?")

select case s
  case "blaat": msgbox "Blaat!"
  case "blabla": msgbox "Blabla!"
end select

Zoiets zou moeten werken. Verder raad ik je aan om de code tussen code-tags te zetten. Dat leest wat fijner.

edit: ik had je vraag niet helemaal goed gelezen. Ik zou in jouw geval gewoon het woord
omzetten naar kleine(lcase) of grote letters(ucase).

Code:
dim s as string
s = "HaLlO AlLeMaAl"
msgbox lcase(s) 'msgbox "hallo allemaal"
 
Laatst bewerkt:
nou ik bedoelde niet echt het verschil in hoofdletters
maar bijvoorbeeld
tiep test of lol
en dat je dan als andwoord kan geven test. maar ook lol. en als je dan een ander andwoord geeft dat hij fout zegt.
 
select-statement:

Code:
dim x as string
x = inputbox("gimme lol OR test")

select case x
case "lol"
   msgbox "goed"
case "test"
   msgbox "goed"
case else
   msgbox "fout!"
end select
 
Als er behoorlijk wat antwoorden goed kunnen zijn dan zou je iets als onderstaande kunnen gebruiken:

Code:
Private Sub Form_Load()
Dim sAntwoord() As Variant, sInput As String
Dim sArr() As String, i As Integer, j As Integer

sAntwoord = Array("test", "lol") 'alle antwoorden die geldig zijn
sInput = "test lol"
sArr = Split(sInput, " ")

For i = LBound(sArr) To UBound(sArr)
  For j = LBound(sAntwoord) To UBound(sAntwoord)
    If sArr(i) = sAntwoord(j) Then
      MsgBox "Antwoord gevonden -> return true"
    End If
  Next j
Next i
End Sub
 
@cod: dubbele array? err, hoezo dat, nu check je alles met alles, dus ook antwoorden van vragen ervoor?
*btw, form_load? vbs? xD



Anywho, ik zou er eerder zoiets van maken dan. Dit checkt het ingevoerde met de array met antwoorden.
Code:
Dim sAntwoord() As string [COLOR="seagreen"]'hier alle antwoorden in storen[/COLOR]
dim x as string '[COLOR="SeaGreen"]dit is even als voorbeeld het antwoord[/COLOR]
dim j as long [COLOR="seagreen"]'dit is de counter[/COLOR]

sAntwoord = Array("1", "2","3","aap","lol") [COLOR="seagreen"]'alle antwoorden die geldig zijn *voor deze vraag*[/COLOR]
x = inputbox("Geef me het antwoord van 1+1")

  For j = LBound(sAntwoord) To UBound(sAntwoord)
    If x = sAntwoord(j) Then
      MsgBox "Antwoord gevonden -> return true"
    End If
  Next j
 
Laatst bewerkt:
@cod: dubbele array? err, hoezo dat, nu check je alles met alles, dus ook antwoorden van vragen ervoor?
*btw, form_load? vbs? xD



Anywho, ik zou er eerder zoiets van maken dan. Dit checkt het ingevoerde met de array met antwoorden.
Code:
Dim sAntwoord() As string [COLOR="seagreen"]'hier alle antwoorden in storen[/COLOR]
dim x as string '[COLOR="SeaGreen"]dit is even als voorbeeld het antwoord[/COLOR]
dim j as long [COLOR="seagreen"]'dit is de counter[/COLOR]

sAntwoord = Array("1", "2","3","aap","lol") [COLOR="seagreen"]'alle antwoorden die geldig zijn *voor deze vraag*[/COLOR]
x = inputbox("Geef me het antwoord van 1+1")

  For j = LBound(sAntwoord) To UBound(sAntwoord)
    If x = sAntwoord(j) Then
      MsgBox "Antwoord gevonden -> return true"
    End If
  Next j

Ik heb zelf nog nooit gewerkt onder VBS, en daarbij was mijn code slechts ter voorbeeld.

Als er behoorlijk wat antwoorden goed kunnen zijn dan zou je iets als onderstaande kunnen gebruiken


Maar jouw voorbeeld werkt uiteraard beter. :)
 
ehm... bij mij geeft hij telkens een foutmelding. ik zet het in kladblok en sla hem op als .vbs en dan start ik hem. en dan geeft hij telken dat er ergens een eind van een instructie word verwacht.
 
No blame!

Oh, wacht, ja. VBS :p
deze werkt wel, net ff getest.

Code:
Dim sAntwoord 'hier alle antwoorden in storen
dim x  'dit is even als voorbeeld het antwoord
dim j  'dit is de counter

sAntwoord = Array("1", "2","3","aap","lol") 'alle antwoorden die geldig zijn *voor deze vraag*
x = inputbox("Geef me het antwoord van 1+1")

  For j = LBound(sAntwoord) To UBound(sAntwoord)
    If x = sAntwoord(j) Then
      MsgBox "Antwoord gevonden -> return true"
    End If
  Next
 
No blame!

Oh, wacht, ja. VBS :p
deze werkt wel, net ff getest.

Code:
Dim sAntwoord 'hier alle antwoorden in storen
dim x  'dit is even als voorbeeld het antwoord
dim j  'dit is de counter

sAntwoord = Array("1", "2","3","aap","lol") 'alle antwoorden die geldig zijn *voor deze vraag*
x = inputbox("Geef me het antwoord van 1+1")

  For j = LBound(sAntwoord) To UBound(sAntwoord)
    If x = sAntwoord(j) Then
      MsgBox "Antwoord gevonden -> return true"
    End If
  Next

Perfect! heel erg bedankt! maar nou wil ik eigenlijk ook nog dat er bij een fout andwoord een melsing komt van fout. hoe kan dat er dan in gezet woorden?
 
Perfect! heel erg bedankt! maar nou wil ik eigenlijk ook nog dat er bij een fout andwoord een melsing komt van fout. hoe kan dat er dan in gezet woorden?

Als je een boek/tutorial leest dan kun je het zelf :)
 
inderdaad. Genoeg VBS tut's online, gebruik google.
subtiele hint, gebruik if-else
 
okee. ik had al voordat ik de vraag stelde op google gekeken maar ik zal ff kijken of er nog wat meer te vinden is. want het meeste zijn van die standaart dingen. maar ik zal zoeken. ik ben ook pas 15 en nog alles aan et leren. ik moet zeggen helpmij.nl is het beste! want ik was vandaag op het computertotaal forum aan het kijken. daar zeggen ze gewoon ja das te moeilijk zoek maar lekker zelf uit. en hier word ik super goed geholpen! heel erg bedankt!
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan