Well it wasn't in C++, but my best overall program was a program that randomly selected names out of a group, and saved the group as well. I made it with an awesome UI and everything :P
The best program I made was a simple binary calculator which took everything I learned in my discrete structures class and reapplied it in my C++ programming class. I made it work using the same rules a full adder uses for computer arithmetic.
I will say its my user vs. PC program for Scrabble. Writing the code for the computer to find and make its own plays was the challenging part. It works well enough that I have a tough time beating it. Here's a link: http://www.mediafire.com/fun2codeApps#0,1
It's in the ScrabblerDemo folder. The 3 text files must go with the .exe file.
I'm quite interested in how your program recognised what was a real word and what wasn't. I can't think of a way of doing that, short of hard coding every word in the dictionary into it =P
It added, subtracted, multiplied, divided, had beeping sounds from Windows API programming
and tested to make sure you entered the correct methods pre-calculations(such as '+', '-', '*' and '/').
Is that good?
EXTRA: It also displayed the calculated values in sentences to make it more than just numbers.
Writing the code for the computer to find and make its own plays was the challenging part.
Every developer who have develop some applications that is game in nature would find the above statement quite true. It is very hard for us to make the computer 'smart' to beat humans. Afterall computer take a set of instructions from us developers to execute their operations.
This is why in games development, there is always claims from some games maker that their computer AI better, smarter, etc for which no one really know actually.
PS I am always in the process of making the computer 'smarter' and 'faster'. One trick is to introduce timer for your game which will beat some humans cuz computer process much faster and human need to think and viola computer beat human in say 7 out of 10 rounds is a commendable feat already :P