First of all, don’t tell the contractor that you need “a complete new roof”. If you don’t know your roof, then you don’t really know if you can re-shingle over the existing shingles (most roofs can use two layers of shingles before requiring them all to be stripped and replaced), and you don’t know if the sheathing needs to be replaced or not.
All you know for certain is that “you have a problem”, and you should tell the roofing contractor what your problem is, and let him estimate what it will take to fix that. He will probably recommend re-shingling the entire roof (probably over the existing single layer of shingles). Let him tell you what he recommends.
If you know the age of the house (and more importantly, the age of the roof, if it has been redone in the past), then you should pass that on to him.
When he gives you his estimate, then you can ask him:
1. What is the current condition of my roof, structurally?
2. If the estimate doesn’t say this (it should): Do you propose to use flat or “architectural” shingles? (I’m presuming that you’ll be using some kind of asphalt composite shingle, not a tile, slate or cedar shake shingle, and a pitched roof, not flat.)
3. Will you take out a building permit, or should I?
4. When you get ready to sign an agreement: Please give me a copy of your insurance certificate and contractor’s license (assuming you live in an area where these things are required for contractors – and even if they’re not legal requirements, you want to be sure that he has insurance).