Sie sind auf Seite 1von 2

#include <iostream>

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
struct nodo{
float letra;
struct nodo *siguiente;
};
typedef nodo *ptrPila;
void push(ptrPila &p, float valor){
ptrPila aux;
aux=new (struct nodo);
aux->letra=valor;
aux->siguiente=p;
p=aux;
}
char pop(ptrPila &p){
float num;
ptrPila auxiliar;
auxiliar=p;
num=auxiliar->letra;
p=auxiliar->siguiente;
delete(auxiliar);
return num;
}
void mostrar(ptrPila p){
ptrPila auxiliar;
auxiliar=p;
while(auxiliar!=NULL){
printf("El numero es: %f \n", auxiliar->letra);
auxiliar=auxiliar->siguiente;
}
}
void destruir(ptrPila &p){
ptrPila auxiliar;
while(p!=NULL){
auxiliar=p;
p=auxiliar->siguiente;
delete(auxiliar);
}
}
// el void en esta funcion menu no regresa ningun tipo de dato
void menu(){
printf("Operaciones con las pilas \n");
printf("1. Insertar \n");
printf("2. Eliminar \n");
printf("3. Mostrar \n");
printf("4. Vaciar \n");
printf("5. Salir\n");
printf("Seleccione una opcion \n");
}
int main(){
ptrPila p=NULL;
float dato;
int opc;
int a;
system("color 4f");
do{
menu();
scanf("%d", &opc);
switch(opc){
case 1:
system("color 0b");
printf("Ingresa la letra a insertar: \n");
scanf("%f", &dato);
push(p, dato);
printf("El numero es: %f \n", dato);
break;
case 2:
system("color 0b");
a=pop(p);
printf("Numero eliminado: %f \n", a);
break;
case 3:
system("color 0b");
printf("Mostrando la pila \n");
if(p!=NULL){
mostrar(p);
}
else{
printf("La pila esta vacia \n");
}
break;
case 4:
system("color 0b");
destruir(p);
printf("Pila destruida \n\n");
break;
}
printf("\n\n");
system("pause"); system("cls");
}while (opc!=5);
return 0;
}

Das könnte Ihnen auch gefallen