rendered paste body#include <stdio.h>#include <stdlib.h>#include <ncurses.h>//#include <pate.h>typedef int TipoDato;struct TipoNodo{ TipoDato Dato; TipoNodo *next;};typedef TipoNodo *Pila;typedef TipoNodo *Nodo;/* Crea el primer elemento de la Pila, asigna NULL al puntero next y la ctm*/bool CrearPila(Pila p){ p=(Pila)malloc(sizeof(struct TipoNodo)); if(p==NULL) return false; else{ p->next=NULL; return true; }}// Suponiendo que cuando se elimina el ultimo elemento de la Pila, el puntero// cabeza quede apuntando a NULLbool PilaVacia(Pila p){ if(p==NULL) return true; else return false;}TipoDato Tope(Pila p){ TipoDato Resultado; if(PilaVacia(p)==false) Resultado=p->Dato; return Resultado;}int main(void){ Pila p=NULL; TipoDato e; char opcion; bool resultado=false; CrearPila(p); do{ system("clear"); printf("Ponte las Pilas 1.2b\n\n"); printf(" 1.- Crear Pila\n"); printf(" 2.- Verificar si la Pila esta Vacia\n"); printf(" 3.- Verificar si la Pila esta Llena\n"); printf(" 4.- Desapilar un elemento\n"); printf(" 5.- Apilar un elemento\n"); printf(" 6.- Elemento Tope\n"); printf(" 0.- Salir\n"); printf("Ingrese Opcion: "); scanf("%c",&opcion); }while(opcion!='0'); return 0;}