#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<stack>
#include<iomanip>
#include"caltulator.h"
using namespace std;
typedef struct STK
{
double num=889277;
char note=0;
}stk;
char s[1000];//初始输入的数组
stk s1[1000];//字符串分割出来的部分
stk s3[1000];//最后的逆波兰表达式
bool if_minus(int & pos);
void turn_pi(int len);
double cut_num(int &pos)
{
int f_pos = pos; //一个数字的开始位置
double integer = 0.0;
double remainder = 0.0;
int c = 0;
while (s[pos] >= '0'&&s[pos] <= '9')
{
integer *= 10;
integer += s[pos] - '0';
pos++;
}
while (s[pos] == '.')
{
c = 1;
pos++;
while (s[pos] >= '0'&&s[pos] <= '9')
{
remainder += pow(0.1, c)*(s[pos]-'0');
c++;
pos++;
}
}
//int pre_pos = f_pos - 1; //一个数字开始之前的一个位
return remainder + integer;
}
char cut_note(int &pos)
{
if (s[pos] == '*')
{
pos++;
return '*';
}
else if (s[pos] == '+')
{
pos++;
return '+';
}
else if (s[pos] == '-')
{
pos++;
return '-';
}
else if (s[pos] == '/')
{
pos++;
return '/';
}
else if (s[pos] == '(')
{
pos++;
return '(';
}
else if (s[pos] == ')')
{
pos++;
return ')';
}
else if (s[pos] == 's')
{
pos++;
if (s[pos] == 'i')
{
pos++;
if (s[