elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda a resolver este error de compilacion por favor!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda a resolver este error de compilacion por favor!  (Leído 3,301 veces)
carles24

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Ayuda a resolver este error de compilacion por favor!
« en: 19 Noviembre 2011, 23:39 pm »

Hola, estoy haciendo un proyecto de pasar de notacion infija a postfija, estoy usando el dev c++ pero no he podido terminar el programa por que me esta dando estos errores en varias funciones:
'Pila' was not declared in this scope expected ',' or ';' before '{' token
'Pil' undeclared (first use this function)
'CrearPila' cannot be used as a function

Este es mi archivo .h:

#include <iostream>
#include <conio.h>
#include <string.h>
#include <stdio.h>
using namespace std;

typedef char TipoDato;


int PilaLlena(Pila P)
{
    return(P.cima == TAM -1)?1:0;
}
int PilaVacia(Pila P)
{
    return (P.cima == -1)?1:0;
}
void Ingresar(Pila *P, TipoDato x)
{
     if(PilaLlena(*P))
     {
                      puts("Error, Pila llena");
                      return;
                      //exit(-1);
     }
     P->lista[++P->cima] = x;
}

TipoDato Quitar(Pila *P)
{
     if(PilaVacia(*P))
     {
                      puts("Error, pila vacia");
                      TipoDato xx;
                      return xx;
                      //exit(-1);
     }
     TipoDato aux = P->lista[P->cima];
     P->cima--;
     return aux;
}
TipoDato Cima(Pila P)
{
         if(PilaVacia(P))
         {
                         puts("Error");
                         TipoDato xx;
                         return xx;
                         //exit(-1);
         }
         return (P.lista[P.cima]);
}
void CrearPila(Pila *P)
{
     P->cima = -1;
}


ESTE ES MI ARCHIVO .CPP:

#include <iostream>
#include <conio.h>
#include <string.h>
#include <stdio.h>
#include "proyecto2.h"
#define MAX 20

using namespace std;

int Proced(TipoDato cima,TipoDato simb);
int main ()
{
    TipoDato simb,Cad[MAX]={' '};
    Pila Pil;
    int a=0,i,flag=0;
    CrearPila(&Pil);
    puts("introduce una operacion en notacion interfija");
    while((simb=getchar())!='n'){
          if(simb!=('/') && simb!=('*') && simb!=('-') && simb!=('+') && simb!=('^') && simb!=('(') &&simb!=(')')){
             Cad[a]=simb;
             a=a+1;
             }
             else{
                if(simb=='('){
                  Cad[a]=simb;
                  a=a+1;
                  flag=1;}
                   else if(simb==')'){
                       while(!PilaVacia(Pil)){
                        Cad[a]=Quitar(&Pil);
                        a=a+1;
                        }
                        Cad[a]=simb;
                        a=a+1;
                        flag=0;
                        }
                     else if(!PilaVacia(Pil) && Proced(Cima(Pil),simb)){
                        while(!PilaVacia(Pil) && Proced(Cima(Pil),simb)){
                            Cad[a]=Quitar(&Pil);
                            a=a+1;                   
                     }}
                  if(simb!=')' && simb!='(')
                  Ingresar(&Pil,simb);
                  }
             }

    while(!PilaVacia(Pil)){
    Cad[a]=Quitar(&Pil);
    a=a+1;
}
puts(Cad);
system("pause");
}

int Proced(TipoDato cima,TipoDato simb)
{
if(cima=='^')
   {
    return 1; 
             }
    else if((cima=='*' || cima=='/') && (simb=='-' || simb=='+'))
           {
           return 1;
                       }
         else{
              return 0;}
}

Les agradezco cualquier contribucion, ya que no tengo idea donde estan los errores del codigo.
gracias




En línea

do-while


Desconectado Desconectado

Mensajes: 1.276


¿Habra que sacarla de paseo?


Ver Perfil
Re: Ayuda a resolver este error de compilacion por favor!
« Respuesta #1 en: 20 Noviembre 2011, 16:21 pm »

¡Buenas!

Lo que te esta diciendo, y con razon, es que no has declarado el tipo de dato Pila en ningun lado, lo que es verdad si el codigo que has puesto es todo el codigo que tienes. Has declarado variables del tipo Pila sin estar este tipo definido, por lo que este es el segundo error que estas cometiendo. Y el tercer error, como el segundo, lo solucionaras una vez que declares el tipo Pila.

¡Saludos!


En línea

- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!
satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: Ayuda a resolver este error de compilacion por favor!
« Respuesta #2 en: 20 Noviembre 2011, 16:22 pm »

Hola

¿Que es "Pila", dónde lo has creado o declarado?

Saludos
En línea

Breakbeat como forma de vida
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines