Design & Develop and Implement a Program in C to evaluation of Suffix expression

				
					#include<stdio.h> 
#include<conio.h> 
#include<math.h> 
#include<string.h> 
double compute(char symbol, double op1, double op2) 
{ 
switch(symbol) 
{ 
case '+': return op1 + op2;
case' -': return op1 - op2;
case '*': return op1 * op2;
case '/': return op1 / op2;
case '$': case '^': return pow(op1,op2); 
default: return 0; 
} 
} 
void main() 
{ 
double s[20], res, op1, op2; 
int top, i; 
char postfix[20], symbol; 
clrscr(); 
printf("\nEnter the postfix expression:\n"); 
flushall(); 
gets(postfix); 
top=-1; 
for(i=0; <strlen(postfix); i++) 
{ 
symbol = postfix[i]; 
if(isdigit(symbol)) 
s[++top] = symbol - '0'; 
else 
{ 
op2 = s[top--]; 
op1 = s[top--]; 
res = compute(symbol, op1, op2); 
s[++top] = res; 
} 
} 
res = s[top--]; 
printf("\nThe result is : %f\n", res);
getch(); 
}
				
			
SAMPLE OUTPUT:
Enter the postfix expression:
23+
The result is: 5.000000

Leave a Reply