well... keep in mind this is coming from a programmer with no professional c++ experience but...
Quote: "Thanks for the advice..I definitely need to learn come C. "
definitely not... c++ is object oriented, C is procedural. It took me a while to understand the difference between OOP code and procedural code... but here's the gist of it (not sure if you'll get it or not - I didn't until I was ~proficient in basic and c++)
In procedural code, you have a procedure that's generally straightforward. IE (in pseudo-code)
make object thisIsAnObject
doFunction(thisIsAnObject's variable a,thisIsAnObject's variable b)
doSomethingElse()
end
A language designed for
Object
Oriented
Programming can and does contain procedural code, but it is all contained within methods. For example, in java (which is an OOP language), you have your program "class" (imagine it as a box full of code), and its "main" method (a method is a function, or a little compartment in the box filled with more code). The compiler searches for the method called "main" and starts executing the code there (basically). In procedural code, you start at the top of wherever you're programming, the code isn't necessarily contained in a vessel/box of any sort.
Now, why OOP is useful - say you have a class called "tree", that has a function called "dropApple", which returns an "Apple" (described below). Also say you have an object "Food", which has the method "beEaten". Now say that you have a class called "apple". This apple "extends" food, meaning it is food. If you want Food, and you're given an Apple, you're happy (compiler works.) If you want an Apple, and you're given Food, you're not happy (because the food may not be an apple. Compiler is sad, because compiler likes apples, not pasta or whatever crap you're trying to feed it.)
[this is and example polymorphism but that's not really the point] Also say you have an object "Person" (bear with me!) who has the method "eat", that takes in an argument "food" (an argument is an object passed in to a function/method of some sort). Now, you can say something like this (the "." command accesses a method):
Person.eat(tree.dropApple())
Now, that is very intuitive and sensical. What would you put for code in the method Person.eat? Something like this:
eat(food n)
{
n.beEaten
}
Even though person was passed an apple, it eats food. Even though it accepted food, it ate an apple. OOP allows you to ignore the nitty gritty of other "object"'s code, because the nitty gritty in other objects works fine, and doesn't really have to be dealt with. (don't get me wrong, you'll still be doing plenty of lower-level stuff, but you'll be programming one thing, then another, then another, and you'll be able to bundle up very complex actions into simpler, intuitive lines of code)
The point of all that is that c++ can be waay waay different in style than C code. Of course, any programming experience would help, but I wouldn't suggest even thinking about the idea that learning C would help you learn c++.
If you wanted to program the above procedurally, things would be way way different. If you really really want (IE. if you're engaged in what I'm saying, and are following along), I can write up some code in DBPro and c++ to show you the exact code for something like this. Otherwise, I suggest kind of thinking about what I've said, downloading Visual C++ 2008 express edition, and googling for some tutorials.

Is't life, I ask, is't even prudence, to bore thyself and bore thy students?