Jeff: Put away the C++ and install LabVIEW. See
http://www.teamrush27.net/documents
and click on "LabVIEW Robot" and "LabVIEW Intro" (thanks to team 27). Complete code for a joystick controlled 2-motor robot is provided with LabVIEW as well as examples for most sensors (limit switches, encoders).
You won't regret it. LabVIEW is used by most aerospace companies to control test instrumentation. I would be surprised if your robot running the base code (2 or 4 motors and a joystick) isn't running in a few hours.