此代码是解决postfix.txt中的postfix问题的堆栈链表实现。如何将char数组转换为整数或双精度?
我盯着我想转换的线。 我只是想让它成为一个双倍,然后我把它放在我的堆栈上,所以我不能在后面进行加法,减法,乘法和除法。我得到的错误是说“预期的表达”。 谢谢!
void main()
{
ifstream postin("postfix.txt");
char oper;
char a[100];
int i=0;
while(oper != '$')
{
stack operands;
while(oper != '/n'&& oper != '$')
{
while(oper != ' '&&oper != '/n'&& oper != '$')
{
oper = postin.get();
if(oper != '+' || oper != '*' || oper != '-' || oper != '/')
{
do
{
a[i]= oper;
i++;
}while(oper != ' ');
************************************************double number = atoi(a[]);
operands.Push(number)
}
else
{
double b = operands.Pop();
double a = operands.Pop();
if(oper == '+')
{
operands.Push(a+b);
}
else if(oper == '-')
{
operands.Push(a-b);
}
else if(oper == '/')
{
operands.Push(a/b);
}
else
{
operands.Push(a*b);
}
}
}
}
}
postin.close();
}
确定'/ N'做你想要的吗? – 2012-03-26 05:18:36