Exercício de Inglês com o Present Perfect

I was studying grammar and then I faced the following question:
Complete B’s answers to A’s questions.
1- a) Do you have a headache? B)Yes, I...a headache all morning
2- a)Do you go to the cinema a lot? B)No, I...to the cinema for ages.

In the first one I answered " have been having", but the right answer was "have had". I'd like to know why?
In the second one I answered "haven't gone", but the right answer was "haven't been". I'd like to know why too.

Thank you all for reading and I really hope that you can answer.

A professora Marcela Miranda, mais conhecida como a Tia do Inglês, ensina nesta aula introdutória o vocabulário básico de inglês para viagens. Está se preparando para sua próxima viagem? A sua jornada começa aqui! ACESSAR AULA
1 resposta
  Resposta mais votada
16 60 498
Eder, perfect tenses are really different when we compare to Portuguese verb tenses.
I'll try to help you:
A) If you use present perfect continuous as you did:
"I have been having headache all morning."
The message is that you have had a headache again and again (repeatedly) all morning.
Whereas in the sentence "I have had a headache all morning." You're saying you had headache all morning (constantly).

Correct answer: I have had a headache all morning.

B) The past participle "Gone" in your sentence is used to say that you went to the place and maybe you're still there."Been" in Portuguese "estive, esteve" is more about experience:
I have been to Australia. "Já estive na Australia".
She's gone to Australia. "Ela foi pra Australia (e provável que ainda esteja lá)."

Correct answer: I haven't been to the cinema for ages.

Hope you understand!