Go with whatever you feel the most comfortable.
With C# and XNA you already have a pretty nice framework and plenty of tutorials that will help you in making your game. Next to XNA there are probably some more other viable options that will help you make your game. Perhaps Unity3D is something you want to look into.
With C++ you have a bit more choice I think (I'm not that deep into what is out there for C#, so I might be wrong) there are plenty of engines/frameworks out there that will let you focus on the gameplay part instead of the rendering part.
So basically, see what fits you best in your goal. If you are still new to either of those 2 languages, compare differences, see what is out there that might help you in your development. All of that has already been answered more than once on this forum alone, so do some digging here and see what has been said over the past time.
I think this answer is pretty good IMO.
But I'll try and be a little constructive.
If you are really serious about getting into games development and see it as something you would definitely want to get a job in when you are older.
Think about C++, its today's industry standard, however, it is a very intensive language. so learn the concepts and basic ideas before trying make games straight away, you will just stress out and fail.
The other thing is about your age, you are quite young, so the industry standard might change by the time you are 20 or something. That said, knowing the principles of programming is better than focusing on a language, it means you can pick up any language that happens to come along.
If you want to just dive right into games programming however, without having to worry to much about other stuff. Yes c# and XNA is a good place to go.