The correct option is B have
The question "Have you been to the post office?" contains the verb 'have'.
The
reply "Yes, I ______" must also contain the same verb, as 'have'
implies that the person has been to the post office. 'Yes, I have' forms an elliptical sentence.
The reply is an elliptical sentence, that means that some words have been omitted and instead have been implied earlier.
'Have' represents all other words that have been omitted 'I have been to the post office'.
Hence, the verb 'have' is correct here and option B is right.
Option A: 'Did' will not be used here because it wasn't used in the question. The verb must be the same as the one that is used in the previous sentence (the question 'Have...').
Options C and D: Similarly, 'want' and 'was' aren't relevant to the given interrogative sentence.
Hence options A, C and D are incorrect.