Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - king1517

#1
 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' );     
}