Well... The differences in languages are not that important at your level. What you need to learn is how to actually build stuff. And you can't learn that from a book. Just practice...
If you want to learn a language as a career move (which would be smart), I think you should go for C#. There are a lot more jobs in C# than C++. If you want to do some more high performance/low level coding later, you will find C++ not to be very different, you just need to be more careful.
My advice would be you try out Unity. ( http://www.unity3d.com) You can have a simple game running in an afternoon, and it supports C# for scripting. And the indie version is free! In my experience, that's 1000 times more rewarding that working with C++, where you need to struggle to even get things on the screen.
I would say that i knew roughly how to build stuff, if i read you correctly in meaning actually how to structure an app. Ive built many small things and one main project(a visual game creator which i lost intrest in). Im not nessaserilly learning it as a career move, more for just the fun of it(yeah i find coding fun ). I have a game creation SDK ive been getting to grips with called Nuclear Fusion which seems to be powerfull yet simple enough for me to understand.
c# never really appealed to me for some reason. I will look into it though as a career move. Im still young and the i want the best head start!.
Unity3D i allready have installed, i think you can script in c#. I will also look into to this.
Thanks for all the suggestions