Ante todo buenos dias y un cordial saludo este es mi problema el programa no me quiere correr ,quisiera saber cuales son mis errores:
ya que soy un poco nuevo en esto
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
typedef int tipo;
typedef struct Pila
{
int aux;
int dato;
struct Pila *Sig;
}PILAD;
// Funciones R-W
void InsertaPila(PILAD **, tipo);
tipo eliminar(PILAD **);
tipo Tope(PILAD *);
void BorraPila(PILAD **);
void ImprimirPila(PILAD *);
//Funciones.cpp
//Código:
//#include "Directiva.h"
void InsertaPila(PILAD **top ,tipo Elem)
{
PILAD *Aux = (PILAD *)malloc(sizeof(PILAD));
Aux->dato=Elem;
Aux->Sig = *top;
*top = Aux;
}
void mostrar(PILAD *p)
{
PILAD *aux;
aux = p;
printf("\nElementos existentes en la Pila:\n");
if(aux == NULL)
{
printf("\n No hay Datos en la Pila!...");
}
else
{
while(aux != NULL)
{
printf("--> %i\n",aux->dato);
aux = aux->sig;
}
}
}
void tope(PILAD *p)
{
PILAD *aux;
aux = p;
if (aux != NULL)
{
printf("\n\nEl Primer ELEMENTO de la Pila es: %i",aux->dato);
}
}
tipo eliminar(PILAD **A)
{
tipo cont;
PILAD *auxiliar = (PILAD *)malloc(sizeof(PILAD));
aux =*A;
if(!aux)
{
cont = aux->dato;
*A = (*A)->Sig;
free(aux);
return cont;
}
else
{
printf("Pila vacia");
exit(-1);
}
}
void Borrar Pila(PILAD **A)
{
tipo Elem;
while (!A)
{
Elem = eliminar (A);
}
}
void ImprimirPila(PILAD *A)
{
PILAD *Aux=(PILAD *)malloc(sizeof(PILAD));
int Elem;
for(Aux=A;Aux->Sig!=NULL;Aux=Aux->Sig)
{
Elem = Aux->dato;
printf(" %d \n",Elem);
}
}
//#include "funciones.cpp"
int main ()
{
char Opc1;
int Opc2,aux;
PILAD *A;
do
{
system ("cls");
printf ("\t\t Estructura Pila Dinamica\n\n\n");
printf ("1.- Insertar elemento en pila ");
printf ("\n2.- Quitar elemento de pila");
printf ("\n3.- Ver el primer elemento y el numero de elemtos en la pila");
printf ("\n4.- Vaciar la pila");
printf ("\n5.- Ver elcontenido de la pila");
printf ("\n6.- Salir de la aplicacion");
printf ("\n\n\n Inserta el numero de la funcion a realizar: ");
scanf ("%d",&Opc2);
switch(Opc2)
{
case 1:
system("cls");
printf ("\n\n Ingresa un numero para insertar en la pila: ");
scanf ("%d",&aux);
InsertaPila (&A, aux);
break;
case 2:
system("cls");
printf ("\n\n El ultimo elemento extraido de la pila es: %d",eliminar(&A));
break;
case 3:
system("cls");
printf ("\n\n El primer elemento de la pila es: %d",Tope (A));
break;
case 4:
system("cls");
BorrarPila(&A);
printf ("\n\n La pila a sido eliminada exitosamente");
break;
case 5:
System ("cls");
ImprimirPila(A);
break;
case 6:
exit(-1);
break;
default:
system("cls");
printf ("La opcion no es valida");
break;
}
printf ("\n\nDeseas seguir en esta aplicacion [S/N]: ");
scanf ("%s",&Opc1);
}
while ( Opc1 == 'S' || Opc1 == 's' );
}
ya que soy un poco nuevo en esto
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
typedef int tipo;
typedef struct Pila
{
int aux;
int dato;
struct Pila *Sig;
}PILAD;
// Funciones R-W
void InsertaPila(PILAD **, tipo);
tipo eliminar(PILAD **);
tipo Tope(PILAD *);
void BorraPila(PILAD **);
void ImprimirPila(PILAD *);
//Funciones.cpp
//Código:
//#include "Directiva.h"
void InsertaPila(PILAD **top ,tipo Elem)
{
PILAD *Aux = (PILAD *)malloc(sizeof(PILAD));
Aux->dato=Elem;
Aux->Sig = *top;
*top = Aux;
}
void mostrar(PILAD *p)
{
PILAD *aux;
aux = p;
printf("\nElementos existentes en la Pila:\n");
if(aux == NULL)
{
printf("\n No hay Datos en la Pila!...");
}
else
{
while(aux != NULL)
{
printf("--> %i\n",aux->dato);
aux = aux->sig;
}
}
}
void tope(PILAD *p)
{
PILAD *aux;
aux = p;
if (aux != NULL)
{
printf("\n\nEl Primer ELEMENTO de la Pila es: %i",aux->dato);
}
}
tipo eliminar(PILAD **A)
{
tipo cont;
PILAD *auxiliar = (PILAD *)malloc(sizeof(PILAD));
aux =*A;
if(!aux)
{
cont = aux->dato;
*A = (*A)->Sig;
free(aux);
return cont;
}
else
{
printf("Pila vacia");
exit(-1);
}
}
void Borrar Pila(PILAD **A)
{
tipo Elem;
while (!A)
{
Elem = eliminar (A);
}
}
void ImprimirPila(PILAD *A)
{
PILAD *Aux=(PILAD *)malloc(sizeof(PILAD));
int Elem;
for(Aux=A;Aux->Sig!=NULL;Aux=Aux->Sig)
{
Elem = Aux->dato;
printf(" %d \n",Elem);
}
}
//#include "funciones.cpp"
int main ()
{
char Opc1;
int Opc2,aux;
PILAD *A;
do
{
system ("cls");
printf ("\t\t Estructura Pila Dinamica\n\n\n");
printf ("1.- Insertar elemento en pila ");
printf ("\n2.- Quitar elemento de pila");
printf ("\n3.- Ver el primer elemento y el numero de elemtos en la pila");
printf ("\n4.- Vaciar la pila");
printf ("\n5.- Ver elcontenido de la pila");
printf ("\n6.- Salir de la aplicacion");
printf ("\n\n\n Inserta el numero de la funcion a realizar: ");
scanf ("%d",&Opc2);
switch(Opc2)
{
case 1:
system("cls");
printf ("\n\n Ingresa un numero para insertar en la pila: ");
scanf ("%d",&aux);
InsertaPila (&A, aux);
break;
case 2:
system("cls");
printf ("\n\n El ultimo elemento extraido de la pila es: %d",eliminar(&A));
break;
case 3:
system("cls");
printf ("\n\n El primer elemento de la pila es: %d",Tope (A));
break;
case 4:
system("cls");
BorrarPila(&A);
printf ("\n\n La pila a sido eliminada exitosamente");
break;
case 5:
System ("cls");
ImprimirPila(A);
break;
case 6:
exit(-1);
break;
default:
system("cls");
printf ("La opcion no es valida");
break;
}
printf ("\n\nDeseas seguir en esta aplicacion [S/N]: ");
scanf ("%s",&Opc1);
}
while ( Opc1 == 'S' || Opc1 == 's' );
}