задали в самом начале учебы после долгого отдыха задачу:
создать программу на С, в которой будут работать функции добавления и удаления следующего элемента стека
вот написала код, но он не хочет работать, помогите плиз
Код

#include<stdio.h>
#include<stdlib.h>
#define MES_LEN 10
typedef struct inform {
            int index;
            char message[MES_LEN];
              } INFORM;
typedef struct list_elem {
                INFORM inform;
                struct list_elem *next;
             } LEL;
LEL* PutInStack(INFORM data);
void PrintList(void);
LEL* GetFromStack(INFORM* pdat);

LEL *list;

int main(void)
{
    LEL *end=NULL;
    puts("\t\t Vhidni dani:");
    do {
        end=PutInStack(end);
       } while (end!=NULL);
    puts("\n\n\t Vvedeno dani v stek:");
    PrintList();
    GetFromStack();
    PrintList();
    return 0;
}

void PrintList(void)
{
    LEL *pel=list;
    while(pel!=NULL)
    {
        printf("\n%-8d%-70s", pel->inform.index, pel->inform.message);
        pel=pel->next;
    }
}

LEL* PutInStack(INFORM data)
{
    LEL *pnew;
    pnew=(LEL*)malloc(sizeof(LEL));
    pnew->inform=data;
    pnew->next=list;
    list=pnew;
    return pnew;
}

LEL* GetFromStack(INFORM* pdat)
{
    LEL *ph=list;
    if (ph==NULL) return NULL;
    *pdat=ph->inform;
    list=list->next;
    free(ph);
    return list;
}