I was thinking though, that they whine because they don't know a better way to get their feelings out. As a parent it's my job to teach her better ways to express herself, so is making her whine in another room really solving the problem or just masking the symptoms?
The same applies for when they are angry and strike out at those around them. Now think about what you do when you're mad. You may raise your voice, or you may use "bad" or "grown up" words to express yourself, sometimes even resorting to name calling. So how do we teach out children to behave differently then we do ourselves?
We don't.
Children learn more from what they see and hear when we aren't looking then what we try to teach them. So in order to get our children to stop whining we must stop the adult version of whining ourselves. If we want them to control their anger, we must show them how, rather then just tell them.
It's much more effective to deal with the root of the problem: unable to express themselves appropriately, then to continually try and control the symptoms: whining, hitting, yelling. It's ok to cry and have feelings, we should nevertheless put children feel ashamed or scared to have feelings. I'll share my ideas how after I research and try out a few ideas!