Every child has a bad attitude at some point. It might just be a fleeting moment when he's exhausted or has had a bad day. For some kids, it may feel like a part of their personality. Whatever situation you are dealing with, all is not lost. You aren't raising the crankiest person in the world. There are things you can do to help improve his attitude and make everyone a little happier.
Change your own behavior. It's hard to look at yourself critically, but chances are someone in your child's life is modeling a negative attitude. This may only be fleeting, but it still affects a vulnerable 5-year-old. Even when you are at your wit's end, try to keep a mellow approach to life. Instead of saying, "Fine, do whatever you want, I give up!" Try, "Let's go outside and play ball. We can try this again later." That way, you both get a break and (hopefully) neither of you gets too frustrated. This is also true for other parents or role models in your child's life.
Stay consistent in every aspect of your child's life. This includes a regular routine for meals and bedtime plus limits on their behavior. Every action needs a consequence. While it sounds strict, children actually respond to boundaries. It makes them feel secure and they know exactly what will happen if they push past. Always give an equal punishment for the crime. If your child doesn't clean up when asked, don't give him a reward. Say, "If you don't clean up, we aren't going out to play."
Avoid pushing too hard. While you need structure, you don't want your home to be like Fort Knox. Pick your battles. Some things are always off limits. You don't allow hitting or kicking at any time. However, don't force things like eating everything on their plate. That turns everything into a battle and you are going to lose some. Your child will constantly resist and his attitude won't improve. Give him time to correct his attitude. A time-tested method of doing this is by counting to three. If he hasn't changed his behavior, he gets the consequences.
Make life interesting. Children who are bored often have bad attitudes. Sitting in front of the TV all day isn't that exciting. Anyone is bound to feel cranky after a day with little stimulation. Your own neighborhood is full of excitement from a child's perspective. Go exploring. See how many kinds of rocks or leaves you can collect. If you have a hard time coming up with ideas or want to branch out, try putting him in swimming lessons, preschool, daycare or other classes to provide a wide variety of activities.
Praise your child. It's easy to forget to do this when it seems like he is constantly miserable. That is not something you want to reward. But, find little things that he is doing right. This can be as simple as picking a nice outfit to wear or washing his hands after he goes to the bathroom. Incorporate plenty of praise in his life. As his attitude starts to change, you'll find it easier to do this. You can also reward him for good behavior. This doesn't have to include obvious rewards like candy or stickers. Instead, go for a walk to a playground or creek when he is behaving well. Make sure he knows this is his reward with positive words like "Thank you for getting dressed. That's a great outfit. It would be perfect for exploring. Let's go to the park."