If you try to talk to a teenager when they are throwing a fit, or slamming doors, it will only escalate the behavior. What you need to do is let them stomp to their room or somewhere safe and calm down. You can even tell them, "We need to calm down before we talk, why don't you go to your room until you are less upset." They may calm themselves by listening to music, journaling, hitting their bed, or yelling into their pillow. They need to be allowed to have time to settle their anger down and think about the real problem. After the teen has calmed, and maybe even much later, depending on your teen, it will be time to talk about it.
When you talk to your teen, try to listen first. Find out what the real problem is. Then ask if they have solutions. You can also state your feelings using statements such as, "I feel anxious when you don't come home on time for dinner. How can we solve this problem?" Try to avoid accusations or criticism, especially of their character. For instance don't tell them they are lazy because they never clean their room. Try to find a solution that will make both people happy. (Note: if they are mad about a consequence, you need to still hold firm, but you can talk kindly about it with them, and help them make a plan to be more successful in the future).
The reason why I do things this way is to make sure the child knows that I am "working with" them and not against them. Using this method I have always been able to find good solutions. And be patient, sometimes it takes two or three talks and maybe a few privileges revoked for a day or so, to help the teen learn to stick to the program. And always, show an increase of love after any altercation. Remember it takes four positive experiences to make up for one negative experience in a relationship.