Agility Kata "Filling Out a Questionnaire IV"

Improve the questionnaire application with the following functions:

  1. The questionnaire dialog should display a "percentage completed" number; a distinction should be made between completion with optional questions and without optional questions.
  2. The score can be saved in a CSV file with the following structure. Each score is appended to the CSV file so that the CSV file can be used at the end to analyze scores across users and questionnaires.
TitleQuestionAnswer quality
Questionnaire 1Which of these animals is a mammal[1]
Questionnaire 1What is the sum of 2+30
Questionnaire 2What is the result of 2*31
Questionnaire 2First name of President Obama1

The CSV file is called scores.csv and is located in the application directory. It has this form:

Title;Question;Answer quality
Questionnaire 1;Which of these animals is a mammal;1
Questionnaire 1;What is the sum of 2+3;0

[1] 1 and 0 stand for correct and incorrect answers

Enter your headline here


Previous iteration edited?

You are currently opening an agility kata. Have you already worked on the previous part?

Please only open this exercise if you have already completed the previous parts. The idea of the Agility Katas is to implement additional requirements on existing code. If you look at all the requirements first, the effect of the Agility Katas will be lost.