For the question "Have you got any ice cream?" which is correct:
- Yes I do
- Yes I have
- No I don't
- No I haven't got any
EDIT: Since the OP changed the tense in his question, I have updated my answer:
The traditional answer would be "yes I have" but "yes I do" is common in American usage and is gaining usage in the UK too.
Arguably both are correct:
In Australia both "I do" and "I have" are used and essentially mean the same thing.
It is the same for the negative forms: