Hello everyone, I want to start learning C++, because that's what we do at school and I really need to know it. But there's a problem, I don't know where to start from, what to do and such. At school I can't understand anything from the teacher, so that won't work. I tried reading some books, but they don't explain very well, or I just simply can't understand.

I come from a poor country, so we use TurboC++ to code at school, it's really dumb, but yeah, can't do anything about it.

At school, we do exercises with numbers and arrays, for example, the program reads numbers until meeting 13, show the even and uneven ones, show the average, show the negative/positive ones. Or the program reads numbers until n, show the sum of the middle numbers, like 12345, show the sum of 3 and 4. Or the minimum and maximum value of something.

Can anyone recommend me what to do to properly learn C++ and do these exercises? I'll have a lot of C++ exams in the future and I wanna do well, also I need this knowledge of C++ for later use.

Thanks for reading, sorry for the spelling mistakes and sorry if it already has been answered or I posted in the wrong place!

I used learncpp.com they have excellent tutorials to teach you everything you need to know about c++ syntax. I am also working on a tutorial website myself (I have created almost 70 lessons so far) but that is more of a personal project. Also if you are so unimpressed with turboc++ you can try Code::Blocks, it is free and (in my opinion) nicer.

I don't really see the problem, to be honest.

If you don't understand anything the teacher says in class you need to talk to him one on one to explain what you are having trouble with so he can explain it in ways you can inderstand. You obviously need more personal help at this point -- books, tutorials, and forums won't give that to you.

The best way to learn C/C++ is to just sit down with it for a weekend and play with it. Use it to draw a tree. Figure out the price of dinner for two plus tax. Write a number guessing game.
Then when you're feeling ready, write a small program organizes your CD collection by name and stores it in a file. Write a small game like Tetris. Do a podcast ripper.
Pick a project and go for it.

As far as the compiler to use, let me make some suggestions:
Labdabeta is right. Code::Blocks is a good one. I'd recommend starting with it rather than Eclipse or Netbeans because they don't have the compiler pre-bundled in. Once you've gotten a hang of how the compiler works and how linking is done, THEN move to Eclipse or Netbeans and find a separate compiler i.e. GCC or LLVM/Clang.

As for IDEs, you might try Orwell Dev-Cpp ( http://sourceforge.net/projects/orwelldevcpp/ )- this is the one most of my friends started out with, and it has seen some updates recently, like un up-to-date compiler ;P

If you need some pre-made tasks, try some online solving system, like http://www.spoj.pl/

commented: Bravo, sir. It's as if an old friend was dead and has returned to me. +4

Thanks everyone for advice, I'll try some of these.

It always helps when I see programs coded with the // commentary next to the line that explains what that line does, that's kinda easy to find out what each line is used for and such.

I started programming C++ by reading the tutorials at http://www.cplusplus.com/. Also as someone already said it helps if you figure out a project you want to do after you are a bit more familiar with the language.

I want to start learning C++, because that's what we do at school and I really need to know it.

Even though this is not a technical solution to your problem, let me point this out. First thing, You should have genuine interest in programming, then you can develop step by step. Programming is something which you can't study By-Heart(Saying this, because many of my friends tries to mug it up & fails). You know the numerals(1,2,3,4,5 etc), and you know operations(+, -, ,/ etc), but each time how you implement is different(1+2, 34+7/3, etc etc). So as for the tutorials and other help, all you can learn is Basic Syntaxs of C++, you will have to give a lot of effort to your task at hand, which offcourse is making logic out with the basic syntaxs you have.

And once you are capable of making logical concepts when given with a questions, you can discuss the problems you face when creating logic at forums like Daniweb. Then you will get to improve your apptitude of programming.

That last part is the only thing that happens here at daniweb, "discuss and develop" making sure that you do your part of thinking. For that apptitude is important which can only be developed if you have genuine interest.
Hope this helps you.

Develop your interset for it & spare some time for it.

It takes years and years, and a lot of coding. Start with excercice number 1. And do it again until you can answer and code it from memory. Then go to excercie number 2, code the answer 10 times again if needed until you understand it by head. Then move on. Put a lot of hours and effort in. google is your friend for EVERY word you have doubts about.

There's only 1 way to become a programmer and it's a hard one, many many hours and coding ALL the exercices, not reading them and thinking 'oh I know how to code that' no. You take the time to actually CODE the excercices.

That's the only way how it is working for me. I'm putting more time into the exercices but I'm learning with every small program I have to code.