Give a multiple choice test
Mathematica 144
This may be an invalid attempt. I separated the question from each answer in the input. I also indicated the correct answer by a letter in a separate field, rather than an asterisk before the alternative.
Anyway...
The Data
questions={{{&quot;\n1. Our site is called Programming Puzzles &amp; Code ________.\n&quot;,&quot;A: Bugging\n&quot;,&quot;B: Golf\n&quot;,&quot;C: Hockey\n&quot;,&quot;D: Programming\n&quot;},&quot;B&quot;},{{&quot;\n2. What is the most popular tag on our site? \n&quot;,&quot;A: [debug]\n&quot;,&quot;B: [program]\n&quot;,&quot;C: [code golf]\n&quot;,&quot;D: [number]\n&quot;},&quot;C&quot;},{{&quot;\n3. We are part of the _______ Exchange network. \n&quot;,&quot;A: Stack\n&quot;,&quot;B: Code\n&quot;,&quot;C: Programmer\n&quot;,&quot;D: Hockey\n&quot;},&quot;A&quot;},{{&quot;\n4. Is this the first question? \n&quot;,&quot;A: Yes\n&quot;,&quot;B: No\n&quot;},&quot;B&quot;},{{&quot;\n5. Is this the last question? \n&quot;,&quot;A: Yes\n&quot;,&quot;B: No\n&quot;},&quot;A&quot;}};

Code
An answer to each question is entered through a dialog box.
Questions, answers, and feedback are printed.
f@x_:=
Print[If[((r=ChoiceDialog[Print[&quot;&quot;&lt;&gt;#,&quot;\nanswer: &quot;];&quot;&quot;&lt;&gt;#,StringTake[Rest@#,1]])==#2),
r&lt;&gt;&quot;\ncorrect!&quot;, r&lt;&gt;&quot;\nincorrect, the answer is &quot;&lt;&gt;#2]&amp;@@x] 

Test
f /@ questions