Doing this in C++. As Parallel said, it's easy to follow along. It's also great practice in "transposing" the code from C to C++.
Excellent purchase!