Schrijf een programma waarmee je quizvragen kan stellen aan de gebruiker. De interface mag je simpel houden, want het gaat natuurlijk om het datamodel in deze opdracht. Je gaat enkele soorten quizvragen implementeren die elk op eenzelfde manier aangeroepen dienen te worden.
De opdracht bestaat uit het maken van de (abstracte) klasse Question
en de bijbehorende subklassen. In het programma zijn de volgende soorten vragen mogelijk:
ChoiceQuestion
- Een vraag met meerdere antwoorden waarvan er slechts 1 goed is.NumericalQuestion
- Een rekenvraag waarbij je het juiste antwoord (als int) moet ingeven.TrueFalseQuestion
- Een vraag waarbij het antwoord bestaat uit “waar” of “niet waar”.Een aantal hints om je op weg te helpen:
Question
waarin je een vraag kan opslaan (en natuurlijk het antwoord).int
waarden als antwoorden te gebruiken. Wij doen dit ook in onderstaand voorbeeld.Question
heeft als doel om een vraag te kunnen opleveren als text en bevat ook functionaliteit om het antwoord te controleren. Dit is vergelijkbaar met een opdracht die je eerder hebt gemaakt.Quiz
klasse geen overbodige luxe om de overige zaken van het spel te regelen.****** Question 1 ******
This is a question you need to perform a calculation. Please enter the right answer of:
What is the value of 2+2?
Your answer: 4
That answer is correct!
****** Question 2 ******
This is a simple true or false question. Do you agree with the following statement?
Abstract classes can be instantiated into objects
Please select your answer:
1) True
2) False
Your answer: 2
That answer is correct!
****** Question 3 ******
This is a question where you must select 1 option from a list of choices. Please answer the following question:
What programming language do we use in this course?
Please select your answer:
1: C++
2: Java
3: PHP
4: Fortran
Your answer: 2
That answer is correct!
****** Question 4 ******
This is a question where you must select 1 option from a list of choices. Please answer the following question:
What is your favorite course (this quartile)?
Please select your answer:
1: Object Oriented Programming
2: Something else
3: Some weird course
4: I can't think of any more options :-)
Your answer: 4
That answer is INCORRECT!
Your final score was 4 out of 8 questions.