Ver Mensaje Individual
  #20 (permalink)  
Antiguo 26/10/2010, 15:45
vnvnation
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Error conversion from `TipoPila**' to non-scalar type `TipoPila' requested

Entonces seria a si verdad o aun esta ma???

Código C++:
Ver original
  1. #include <iostream.h>
  2. #include <conio.h>
  3. #define MAX 3
  4. #define VACIO -1
  5. typedef int TipoTope;
  6. typedef char TipoElem;
  7. typedef struct TipoPila{
  8.          TipoTope Tope ;
  9.           TipoElem Elementos [MAX];
  10.           }Pila;
  11. void InicializarPila (TipoPila *Stack);
  12. int PilaLlena(TipoPila Stack);
  13. int PilaVacia(TipoPila Stack);
  14. void Push (TipoPila *Stack,TipoElem Elemen);
  15. int Pop (TipoPila *Stack,TipoElem *Elemen);
  16. void Imprimir (TipoPila Stack);
  17. void Contar (TipoPila Stack);
  18.  main ()
  19. {
  20. system ("color a9");
  21. TipoPila Pila;
  22. TipoTope Tope=0;
  23. TipoElem Elementos=0;
  24. int opcion1=0;
  25. while (opcion1!='s')
  26. {
  27. cout << "\n\nSELECCIONE UNA OPCION DE LAS SIGUIENTES:";
  28.  cout <<"\n1 Inicializar Pila: \n";
  29.   cout <<"2 Ingresar elementos a la pila: \n";
  30.   cout <<"3 Sacar elementos de la pila: \n";
  31.    cout <<"4 Imprimir elementos de la pila: \n";
  32.    cout <<"5 Contar elementos de la pila: \n";
  33.    cout <<"\n opcion:";
  34.  cin >> opcion1;
  35.  system ("cls");
  36.  switch (opcion1)
  37. {
  38.        case 1:
  39.        InicializarPila(&Pila);
  40.        cout<<"Pila inicializada ...\n";
  41.        getch ();
  42.        system ("cls");
  43.        break;
  44.        
  45.        case 2:
  46.        if(PilaLlena(Pila)){
  47.        cout << "\nPila llena!!!!\n";}
  48.        else{
  49.        cout<<"Ingrese elementos a la pila:";
  50.        cin >> Elementos;
  51.        Push(&Pila,Elementos);
  52.        getch ();
  53.        system ("cls");
  54.        break;
  55.        
  56.        case 3:
  57.        if(PilaVacia(Pila)){
  58.        cout << "\nLa pila esta vacia ingrese elementos primero!!!!\n";
  59.        }
  60.        else
  61.        {
  62.        Pop(&Pila,&Elementos);
  63.        cout <<"\n El elemento sacado de la pila es: "<<Elementos;
  64.        }
  65.        getch ();
  66.        system ("cls");
  67.        break;
  68.        
  69.        case 4:
  70.         Imprimir(Pila);
  71.        getch ();
  72.        system ("cls");
  73.        break;  
  74.        
  75.        case 5:
  76.         Contar(Pila);
  77.        getch ();
  78.        system ("cls");
  79.        break;      
  80. }}}
  81. getch ();
  82. }
  83. //InicializarPila
  84. void InicializarPila(TipoPila *Stack)
  85. {
  86.      Stack->Tope=VACIO;
  87.      }
  88. //PilaLlena
  89. int PilaLlena(TipoPila Stack)
  90. {
  91.     return (Stack.Tope==MAX);
  92. }
  93. //PilaVacia
  94. int PilaVacia(TipoPila Stack)
  95. {
  96.  return (Stack.Tope==VACIO);
  97. }
  98. //Push
  99. void Push (TipoPila *Stack,TipoElem Elemen)
  100. {
  101.  Stack->Tope++;
  102.  Stack->Elementos[Stack->Tope]=Elemen;
  103.  
  104.  }
  105.  //Pop
  106. int Pop (TipoPila *Stack,TipoElem *Elemen)
  107. {  
  108.  
  109.   *Elemen=Stack->Elementos[Stack->Tope];
  110.   Stack->Tope--;
  111.   //  return *Elemen;
  112.  }
  113.  //Imprimir
  114.  void Imprimir (TipoPila Stack)
  115.  {
  116. TipoElem Elemen;
  117. while (!PilaVacia(Stack))
  118. {
  119.        Pop (&Stack,&Elemen);
  120.        cout <<"\n"<<Elemen;
  121. }        
  122.       }
  123. //Contar
  124. void Contar (TipoPila Stack)
  125. {
  126.  int contador=0;
  127.  TipoPila Aux;
  128.  TipoElem Elemen;  
  129.  InicializarPila (&Aux);
  130.  while (!PilaVacia(Stack))
  131.  {
  132.  Pop(&Stack,&Elemen);
  133.  contador++;
  134.  cout << contador;
  135.  Push(&Aux,Elemen);
  136.  }
  137. }