You should decide between C++ and C#, in my opinion. They are both programming languages, but are very different. There is also the .NET add on to the C++ language (Managed C++). I'm not sure how common the Managed C++ is (C++.NET), but if you are learning a new language I would suspect you should just go all the way to C# instead if you want the features of .NET. Since you want to do windows apps that would probably be the best option, learn and use C#.
If you go ahead and use C++, then you need to decide if you will use managed or unmanaged C++. Again, from what I've seen managed C++ is not as common. If you used managed C++, then you can go ahead and use the Math namespace or whatever that is. If you want unmanaged C++, which is governed by standard C++ and can be ported to other platforms, use the functions in <cmath> (the C++ version of <math.h>). However, if you want to build Windows apps, either way you will have to use code that is non-portable to create a windows GUI.