should have done/ ought to have done (Complaining 1)

Для выражения критики по поводу действия в прошлом, которое может быть описано с использованием времён Past Simple, Past Perfect и Present Perfect, используются конструкции:

should (not) have V3/Ved
ought  (not) to have V3/Ved


I have missed the bus. I should have left home earlier.
(Я пропустил автобус. Мне следовало  выйти пораньше.)

You ought to have examined the goods before buying.
(Вам следовало было осмотреть товары перед покупкой.)

He should not have stayed there longer. (Ему не следовало было оставаться там дольше.)
I ought not to have gone outside without my umbrella.
(Мне не следовало было выходить на улицу без зонта.)

should, ought to, had better

Модальные глаголы  should и ought to переводятся “следует”, используются для выражения рекомендаций, обязательств или обязанностей.
Несмотря на то, что  should и ought to взаимозаменяемы, существует небольшая разница в их значении.

Should следует  использовать, когда мы хотим высказать наше субъективное мнение, дать совет другому человеку.
You should take a holiday.
You shouldn’t drink too much coffee.

Ought to употребляется,  когда необходимо выразить объективное мнение о том, что необходимо сделать. Поэтому ought to используется, когда речь идет о законах, обязанностях и правилах.
What ought they to do?
They ought to (do it).
I think they ought to spend more money on education.
They ought not to (do it).
They ought not to increase local taxes.
Необходимо помнить, что после ought следует частица to, а после should употребляется глагол без to.

Had better переводится как “лучше бы” и применяется для предостережения, указывая на плохие последствия, если вы не будете следовать ему.
We’d better do it.
We’d better do something, and do it soon!
They’d better call the police!
We had better not.
We’d better not spend another ten years talking.
Hadn’t we better do it?
Hadn’t we better park in another place?
После had better следует глагол без to.

should/ shouldn’t (do it)

Модальный глагол should переводится на русский язык “следует” и используется для выражения совета или рекомендации.
You should eat more vegetables and fruit.(Тебе следует есть больше овощей и фруктов.)
He should practice his English.(Ему следует практиковать свой английский.)

Утвердительное предложение.
После местоимения/ существительного следует модальный глагол should, далее – основной глагол (в форме инфинитива без частицы to).
We should wait. (Нам следует подождать.)
You should go to the doctor. (Вам следует сходить к врачу.)

Отрицательное предложение.
В отрицательном предложении после местоимения/ существительного следует модальный глагол should, за ним частица not, далее – основной глагол (в форме инфинитива без частицы to).
Сокращённая форма
should not = shouldn’t
He shouldn’t smoke so many cigarettes.(Ему не следует курить так много сигарет.)
You shouldn’t drink so much whisky. (Тебе не следует пить так много виски.)

Вопросительное предложение.
В вопросительном предложении используется обратный порядок слов.
Модальный глагол should стоит перед  местоимением/ существительным, за которым следует основной
глагол (в форме инфинитива без частицы to).
Should I visit them? (Мне следует навестить их?)
What should I do? (Что мне следует делать?)
Why should we give up everything? (Почему нам следует всё бросить?)

Краткий ответ.
Yes,(I ) should. / No, (I) shouldn’t.