Page 451 - C++
P. 451
return -1;
else
{
long v=s[top--];
return v;
}
}
/*************************************************************/
long int isOperator(char ch)
{
if(ch=='+' || ch=='-' || ch=='*' || ch=='/')
return 1;
else
return 0;
}
/*************************************************************/
long performOperation(long op1, long op2, char op)
{
long int ans;
switch(op)
{
case '+': ans = op2 + op1;
break;
case '-': ans = op2 - op1;
break;
case '*': ans = op2 * op1;
break;
case '/': ans = op2 / op1;
break;
}
return ans;
}
/*************************************************************/
void out(char *exp)
{
stack s;
char buffer[15];
int i,j,len;
long op1, op2, x;
len = strlen(exp);
j = 0;
for(i=0; i<len;i++)
{
if(exp[i]>='0' && exp[i]<='9')
{
buffer[j++] = exp[i];
}
else if(exp[i]==' ')
{
if(j>0)
{
buffer[j] = '\0';
x = atol(buffer);
s.push(x);