All pastes #996112 Raw Edit

Stuff

public cpp v1 · immutable
#996112 ·published 2008-04-24 18:53 UTC
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;}bool PilaLlena(Pila p){		return false;}TipoDato Tope(Pila p){    TipoDato Resultado;    if(PilaVacia(p)==false)        Resultado=p->Dato;    return Resultado;}bool Apilar(Pila p, TipoDato e){		Nodo n;		n=(Nodo)malloc(sizeof(struct TipoNodo));		return true;}bool Desapilar(Pila P){		return true;}void Ingresar_Dato(TipoDato &Nodo){}void Imprimir_Nodo(TipoDato &Nodo){}	int main(void){    Pila p=NULL;    TipoDato e;	char opcion;	bool resultado=false;		do{    	initscr();    	erase();    	printw("Ponte las Pilas 1.2b\n\n");		printw(" 1.- Crear Pila\n");		printw(" 2.- Verificar si la Pila esta Vacia\n");		printw(" 3.- Verificar si la Pila esta Llena\n");		printw(" 4.- Desapilar un elemento\n");		printw(" 5.- Apilar un elemento\n");		printw(" 6.- Elemento Tope\n");		printw(" 0.- Salir\n");		printw("\nIngrese Opcion: ");		opcion=getch();		switch (opcion){			case '1':				if(CrearPila(p)==true)					printw("\n\tPila creada o inicializada");				else					printw("\n\tError en la creacion de Pila");				getch();				break;			case '2':				resultado=PilaVacia(p);				if (resultado==true)					printw("\n\tLa Pila se encuentra VACIA");				else					printw("\n\tLa Pila NO se encuentra VACIA");				getch();				break;			case '3':				resultado=PilaLlena(p);				if (resultado==true)					printw("\n\tLa Pila se encuentra LLENA");				else					printw("\n\tLa Pila NO se encuentra LLENA");				getch();				break;			case '4':				resultado=Desapilar(p);				if (resultado==true)					printw("\n\tSe ha desapilado un elemento correctamente");				else					printw("\n\tNO se ha podido Desapilar un elemento");				getch();				break;			case '5':				Ingresar_Dato(e);				resultado=Apilar(p,e);				if (resultado==true)					printw("\n\tSe ha podido APILAR el nodo CORRECTAMENTE");				else					printw("\n\tNO se ha podido apilar el nodo");				getch();				break;			case '6':				resultado=PilaVacia(p);				if (resultado==false){					e=Tope(p);					Imprimir_Nodo(e);				}				else					printw("\n\tLa pila se encuentra VACIA, NO se puede mostrar TOPE");				getch();				break;			case '0':				break;		}		endwin();	}while(opcion!='0');    return 0;}