First, the level of politeness and use/non-use of keigo should be fairly consistent between members of the class. Being overly formal towards the teacher when everyone else uses less formal speech would be odd and distracting. As you are together in the same environment nearly every day, maintaining the same level of politeness in your speech (unless used for effect) in the class is important.
For this reason, I would suggest the following:
「先生、___を教えてください。」 ’Teacher, please teach me _____.’
「先生、___を教えてくださいませんか?」 ‘Teacher, won’t you teach me _____?’
「先生、___を見せてください。」 ‘Teacher, please show me _____.’
「先生、___を見せてくださいませんか?」 ’Teacher, won’t you show me _____?’
That being said, your conjugation of いただく is incorrect. It would be:
「先生、___を教えていただきたいんですが。」 ’Teacher, I would like you to teach me _____.’
「先生、___を教えていただいてよろしいですか?」 ’Teacher, could you teach me _____?’
「先生、___を教えていただけませんでしょうか(いただけないでしょうか)?」 ‘Teacher, couldn’t you possibly teach me this?’
Again, I don’t believe that using the いただく form would be the best mode of address in this case. If used towards customers or in other environments where you are expected to be more honorific and deferential it would be appropriate.
Use of もらう seems a bit too supplicating and/or needy and is not necessarily appropriate in this setting. Not bad, just not necessary given the circumstances.
Finally, at the end of your post you write 「ありがとうございます」. As there has not yet been anything done for you this would be strange. Even in English this would have been strange not too long ago. Saying thank you for something that has neither been given nor agreed to comes off as out of sequence or even a bit pushy. It would be better to say よろしくお願いします。 I know you didn’t ask about this, but many others do the same thing and I thought it should be mentioned nonetheless.