programa de una calculadora con pilas

acacia
22 de Febrero del 2005
hola! me encargaron un programa que realiza las operaciones de una calculadora, me dieron el codigo pero tengo problemas no puedo correrlo me marca error en la declaracion de la clse, estoy confundida.
¡Me podrian echar la mano!

les facilito el codigo que tengo

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

typedef char tipoElemento;

Class Pila
{
private:
tipoElemento*pila;
int p;
public:
Pila(int max=100)
{ pila=new tipoElemento[max]; p=0;}
~Pila()
{delete pila;}
inline void meter(tipoElemento v)
{ pila[p++])v;}
inline tipoElemento sacar()
{ return pila[--p];}
inline int vacia()
{ return !p;}
};

main()

{ char c;
void infija(char c);
void postfija(char c);

printf("Programa que realiza las operaciones de una calculadoran");
infija(c);
postfija(c);
getch();
}




char c; Pila guardar(50);

while(cin.get(c)
{
if(c==')')cout.put(guardar.sacar());
if(c=='+')guardar.meter(c);
if(c=='*')guardar.meter(c);
while(c>='0' && c<='9')
{
cout.put(c);cin.get(c);
}
if(c!='(')cout<<' ';
}
cout<<'n';
}


Pila acc(50); float x;
while(cin.get(c))
{
x=0;
while(c==' ')cin.get(c);
if(c=='+')x=acc.sacar()+ acc.sacar();
if(c=='*')x=acc.sacar()* acc.sacar();
while(c>='0' && c<='9')
{ x=10*+(c-'0');cin.get(c);}
acc.meter(x);

}


LES AGRADECERIA SU AYUDA


Daniel
22 de Febrero del 2005
No se si te sirva, lo modifiqué en base amis conocimientos pero espero que si. Solo te voy a pedir un favor que si puedes enviar a mi correo los otros programas que lo complementan(es decir la calculadora completa) ya que tengo una tarea y tu trabajo me seria de mucha ayuda. Gracias.

Daniel
22 de Febrero del 2005
#include<stdio.h>
#include<conio.h>
#include<iomanip.h>
#include<stdlib.h>

typedef char tipoElemento;

class Pila
{
private:
tipoElemento*pila;
int p;

public:
Pila(int max=100)
{ pila=new tipoElemento[max]; p=0;}
~Pila()
{delete pila;}
inline void meter(tipoElemento v)
{ pila[p++];}
inline tipoElemento sacar()
{ return pila[--p];}
inline int vacia()
{ return !p;}
};

void main()
{
char c;
float x;
void infija(char c);
void postfija(char c);

printf("Programa que realiza las operaciones de una calculadoran");
infija(c);
postfija(c);
getch();

Pila guardar(50);
Pila acc(50);
while(cin.get(c))
{
if(c==')')cout.put(guardar.sacar());
if(c=='+')guardar.meter(c);
if(c=='*')guardar.meter(c);
while(c>='0' && c<='9')
{
cout.put(c);cin.get(c);
}
if(c!='(')cout<<' ';
}
cout<<'n';


while(cin.get(c))
{
x=0;
while(c==' ')cin.get(c);
if(c=='+')
x=acc.sacar()+ acc.sacar();
if(c=='*')
x=acc.sacar()* acc.sacar();
while(c>='0' && c<='9')
{
x=10*+(c-'0');cin.get(c);}
acc.meter(x);
}
}