I´m sorry to tell you but there is no way you can learn to code and solve any problem anyone give you.
Programming is too broad.
C# and .net is great.
Asp.net,
Unity - Game Engine and
Xamarin broadens the horizon (heard rumours about microsoft opensourcing xamarin).
You can do websites,mobile apps and games in a productive way with C#.
Even if you learn C++ you don´t know everything C++ has to offer.
There are tons of APIs and to be honest, Opengl API + glsl is harder to learn then C++ itself, just to name one.
If you pick a language and learn it you are only halfway there.
"Learning" never stops and you have to deal with new APIs constantly (technology evolves really fast).
Do some soul searching and find out where your passion is and just go for it.