It's written in Java, not C++ (wish I could go back in time and change that :P).. but I want to share my open source project with you guys anyway. I've spent aggesss programming it, but no-one's really looked at it yet, and that makes me sad. So if you want, you should check it out and tell me what you think.
It's a(nother) flashcard program. I made it because I couldn't find one that was flexible enough for me, or flexible in the way I wanted it to be. And also I don't think any of the other ones are very pretty. Anyway, instead of having question types, my program has embeddable answer fields... so you can mix and match.
It's at www.ingatan.org. Let me know what you think :)
When it's asking quiz questions, it pre-loads the selected libraries and separates all the questions into different 'correctness' bins based on your historic grade for each question (e.g. 0-20%, 20-40%, 'never asked', etc.). Then it picks the questions randomly from those bins... with preference given to the bins with least correctness. But it isn't completely biased toward the bins with lowest correctness, because otherwise the questions you're good at will never be asked and hence never be demoted to lower bins if you've forgotten the answers.