Is there a word for someone that always has to be right? The person gets angry if they are not.
There are many words to describe someone who always needs to be right, including indomitable, adamant, unrelenting, insistent, intransigent, obdurate, unshakeable, dictatorial.
To convey more the sense of getting angry when disagreed with, strident or truculent - eager or quick to argue or fight; aggressively defiant, bad-tempered and always willing to argue with people: a truculent attitude.
I'm not sure there is a word that describes exactly that, but the closest ones I found are (both definitions come from the NOAD):
- Smart alec (also smart-alec, smart aleck, smart-aleck): a person who is irritating because they behave as if they know everything.
- Know-it-all (also know-all): a person who behaves as if they know everything.
They don't seem to include the "angry" factor, but certainly "the conviction of being right" is there.
This kind of person can be described as self-righteous.
(MW) Self-righteous - having or showing a strong belief that your own actions, opinions, etc., are right and other people's are wrong