...and you'll just have to get used to it. However if you've been on that for four months, you haven't been trying very hard lol. It can be VERY usefull in programs, I still use it and I'm in the early stages of creating a full-fledged game. It can error detect such as:
Code:
if (value == BADVALUE)
{
//tell user that the bad value is coming up
}
else
{
//run system as normal
}
I had to do a tax program before once for a class, I don't remember, but i'm pretty sure no switches were allowed. Anyway, the user input all kinds of variables for their money earned, interest earned, taxes paid, tax deductables... and so the if statements made a bulk of the actual code (that wasn't reading in data) because it had to figure out what tax bracket they were in, and what exceptions they had.
If statements for a regular cmd window program (that black window with grey courier new font) are also great for doing simple reading in of user data for answers to questions. I had to do a price handling program imitating a local ferrie's rates. Essentially how many passengers, if they had a car or a bike, what class they were riding in, (class being just first or third, it wasa LONG time ago,) and a few other questions, most being yes/no questions. So if user input == yes, or 'y' or 'Y' or '1' or whatever, you can check for that and only execute something if it "fits the bill". There are near endless uses for if. If you look into my question in "problems with GetAsyncKeystate()" you'll see that my whole problem (I thought) was dealing with an if statement, to switch between two different (and popular) RTS camera modes.
Code:
if (user is holding alt)
{
//aim camera
}
else
{
//move camera
}
Very useful. Try not to judge the usefullness of seemingly useless functions until you've used them before. Operator overloading to me right now, seems inherantly useless to my tastes, as I could just call the function that does what it does, but for the sake of saving coding lines, and making it easier to read, it might be usefull once I understand it's complexities and have put it to use in a few practice programs. (Probably mainly saves space for the fact that no function call is needed, and you could possibly use them to take someone elses code and completely change the use for it by adding your header file to it). Alas.. i've digressed. Just learn, THEN judge. Not the shoot-and-ask-questions-later method; much less affective in coding.