I would of thought that N3wton would make sure you were taught the evils of using GOTO.
Using LOCAL outside of functions is pretty much useless since anything not defined as GLOBAL can't be used in functions anyway.
Using $ in a variable tells Darkbasic you want a string... there's no need to tell it "as string" if you use a $ in the name.
You also shouldn't be using data$ since DATA is a command.
Any time you get user input you need to convert the string to either all higher case letters or all lower case letters. If you don't do that the user would have to write in exactly the same case you're checking for. If (as the way you wrote it) you check for "Correlation" and the user writes down "correlation" it won't detect it because they didn't use an upper case C.
I personally would just throw it all into an array and use one routine to do all the questions:
` Dimensionalize the array
dim Question$(50,4)
` Question$(xx,0) - The Question
` Question$(xx,1) - Answer #1
` Question$(xx,2) - Output #1
` Question$(xx,3) - Answer #2
` Question$(xx,4) - Output #2
Question$(0,0)="What was the hypothesis? "
Question$(0,1)="CORRELATION"
Question$(0,2)="Use Spearmans Rho"
Question$(0,3)="DIFFERENCE"
Question$(0,4)="Check experimental design"
Question$(1,0)="What experimental design was used? "
Question$(1,1)="INDEPENDANT MEASURES"
Question$(1,2)="Use mann-whitney u"
Question$(1,3)="REPEATED MEASURES"
Question$(1,4)="Wilcoxon Test"
Question$(2,0)="What kind of data was used? "
Question$(2,1)="NOMINAL"
Question$(2,2)="Chi Squared"
do
` Go through all the questions
for CQuest=0 to 2
cls
` Get the user input
input Question$(CQuest,0),a$
` Convert a$ to all higher case letters (to check answer easier)
a$=upper$(a$)
` Look at both answers in the array (look at #1, skip #2, look at #3)
for Answer=1 to 3 step 2
` Check if a$ matches the first or second answer
if a$=Question$(CQuest,Answer)
` Print the output
print Question$(CQuest,Answer+1)
endif
next Answer
wait key
next CQuest
loop