#include #include #include "stack.cpp" #include int main(void){ Stack stk; char op[30],aux[30]; int i,largo,n=0; float result,b,a,c; cout << "ingresar operacin: "; gets(op); cout << endl; largo = strlen(op); for(i=0;i= 48) && (op[i-1] <= 57))){ b = atoi(aux); stk.push(b); aux = 0; n=i; } else if(((op[i] == '*') or (op[i] == '/') or (op[i] == '+') or (op[i] == '-') or (op[i] == '%')) && ((op[i+1] == 32) or (op[i+1] == 59))){ switch(op[i]){ case '+' : { a = stk.top(); stk.pop(); c = stk.top(); stk.pop(); result = c+a; stk.push(result); break; } case '-' : { a = stk.top(); stk.pop(); c = stk.top(); stk.pop(); result = c-a; stk.push(result); break; } case '/' : { a = stk.top(); stk.pop(); c = stk.top(); stk.pop(); result = c/a; stk.push(result); break; } case '*' : { a = stk.top(); stk.pop(); c = stk.top(); stk.pop(); result = c*a; stk.push(result); break; } case '%' : { a = stk.top(); stk.pop(); c = stk.top(); stk.pop(); result = (int)c%(int)a; stk.push(result); break; } } } else if (!stk.empty()) cout << "el resultado de la operacin es: " << stk.top() << endl; else aux[i-n] = op[i]; } }