Этот код является реализацией связанного списка стека, который решает проблемы postfix в postfix.txt.
Я смотрел на строку, которую я пытаюсь преобразовать.Я просто хочу сделать его двойным, прежде чем поместить его в свой стек, чтобы потом не мог делать с ним сложение, вычитание, умножение и деление.Я получаю сообщение об ошибке «ожидал выражения».Спасибо!
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();
}