Sailing competitions normally take place over a series of races with competitors discarding a fixed number of their worst results. Typically a series will be seven races with the best five counting.
Write a program to provide a results service for a race series. Note that this will require producing intermediate results at the end of each race. You will need to provide facilities for latter correction of results such as those that occur from decisions of appeals committees.
You will need to provide persistence for data (i.e. store data during a run of the program and recover it latter. You will also need to deal with editing of persistent data.