Steps to writing const-correct code:
1. Understand what const variables and const references & pointers actually mean and how they behave at compile time. Read about it. Make a sample program and test what happens when you try to do various things.
2. Understand what a const member function is. As above...
3. In your actual code, when you write a new function or member function attempt to make all of its parameters const, especially pointers and refences. Deal with the syntactic fallout.
4. Where 3. turned out to be impossible realize that those parameters can't be const.
5. Do this for a while and it will all become second nature.