Have to is used to express obligations or requirements that are imposed externally or internally. It suggests a lack of choice or discretion in performing certain actions due to external circumstances or personal commitments.
Should is used to express advice or recommendations based on norms, values, or expertise. It suggests what is considered appropriate, beneficial, or advisable in a given situation.
Ought to carries a similar meaning to "should" and is often used to emphasize moral or ethical obligations. It implies a sense of duty or responsibility towards certain actions or behaviors.
| have to do something = it is necessary to do it, | am obliged to do it:
We use do/does/did in questions and negative sentences (for the present and past simple):
You can say I'll have to ... , I'm going to have to ... and | might / | may have to
You should do something = it is a good thing to do or the right thing to do. You can use should to
give advice or to give an opinion:
Use should with I think / | don’t think / Do you think ... ?:
You shouldn't do something = it isn’t a good thing to do:
Should is not as strong as must or have to:
You can use should when something is not right or what you expect:
Also use should to say that you expect something to happen:
You should have done something = you didn’t do it, but it would have been the right thing to do:
You shouldn't have done something = you did it, but it was the wrong thing to do:
Compare should (do) and should have (done):
Ought to …You can use ought to instead of should. Say ‘ought to do’ (with to):
It is often used to emphasize moral or ethical obligations. It implies a sense of duty or responsibility towards certain actions or behaviors.