Удачи! Надеюсь, поняли, что сейчас у Вас uk->dat всех элементов стека указывают в одно место. На a. Ввели новое a и сразу потеряли предыдущее, потому что на стек его-то на самом деле не помещали...

Ещё по мелочам - пользователю непонятно, что вводить, чтобы продолжить, а что - чтобы закончить. Ну и этот goto... "Поручик!.. При дамах!.. Как можно?!.." wink.gif Есть же цикл do ... while ...