There are some good C++ tutorials here:
http://www.cprogramming.com/tutorial.html#c++tutorial
http://www.cplusplus.com/doc/tutorial/program_structure.html
If you're just learning how to program, I'd personally advise learning a different, easier programming language first, like Python:
http://www.python.org/
The reason for this, is when you're learning how to program for the first time, there's a lot of new, programming language independent concepts you have to try and understand. It can be frustrating fighting 'syntax errors' you don't really get, and other weird bugs or issues that come up in a more powerful, lower-level language like C++. Python has certain facilities and conventions that can make it altogether simpler in many ways.
The other nice thing about Python is that downloading the Windows installer from the Python website is all you need to do to get started. It includes a simple but useful IDE actually written in Python (called IDLE), as well as the Python interpreter. Also, the Python website itself has a lot of documentation (although sometimes it can seem a bit unorganized to me, compared to, say, Java's).
C++ is a very sophisticated language, but it can also be pretty complex. If you're having no trouble learning it, then go ahead and continue, but I personally learned BASIC first (although that's obsolete now, and Python is just as simple, but better in many respects).
Although it might seem like a bit of a diversion if you want to code Half-Life mods, Half-Life was made over the course of years by a series of professional programmers (first id Software, then Valve). If you're working on anything of a decent complexity, having a solid knowledge of programming will definitely help.
Just to demonstrate...
The Hello World program in Python:
That's the entire file.
And the Towers of Hanoi (which is admittedly a complicated program to introduce to beginners):
def hanoi(n, a, b, c):
if n>0:
hanoi(n-1, a, b, c)
print 'Ring', n, 'moved from', a, 'to', c
hanoi(n-1, b, a, c)
x = input('How many rings will your Hanoi tower have? ')
hanoi(x, 'a', 'b', 'c')
This obviously will not translate directly into Half-Life modding, but if you're serious, and you find Python easier to work with as a beginner, I would recommend learning it to get a grasp on a lot of fundamentals of programming. Then, once you've worked through a Python tutorial or two, you can go back to C++.
Also, if anyone has any questions about Python, C/C++, or programming in general, feel free to ask.