Dürfte eigentlich nicht schwer sein, das raus zu kriegen. ABer die ganze Sache zu erklären, stellt das Problem bei mir
Da muss nämlich anders gerechnet werden.
24€ - 5€ wären ja die 19€ vom Sonderpreis.
Sie haben dann ja am Ende 21€ gezahlt, soweit alles richtig. Du musst aber die fehlenden 2€ abziehen und NICHT dazu rechnen, darin liegt der Fehler

(dann kommt man nämlich wieder auf 19€, du kannst ja nicht zuerst 3€ vom eigentlich Preis abziehen und dann wieder 2€ hinzurechnen *gg*)