funguje
This commit is contained in:
parent
470e5b210e
commit
76cb8427cb
@ -32,7 +32,7 @@ int switch_operators(const char input[])
|
|||||||
return 0;
|
return 0;
|
||||||
break;
|
break;
|
||||||
case '/':
|
case '/':
|
||||||
return 0;
|
return -1;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return 1;
|
return 1;
|
||||||
@ -45,11 +45,6 @@ float pop_stack(struct stack* mystack,const char input[])
|
|||||||
assert(mystack->size>1);
|
assert(mystack->size>1);
|
||||||
float val1=mystack->values[mystack->size-2];
|
float val1=mystack->values[mystack->size-2];
|
||||||
float val2=mystack->values[mystack->size-1];
|
float val2=mystack->values[mystack->size-1];
|
||||||
if(val2==0)
|
|
||||||
{
|
|
||||||
printf("division by zero\n");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
switch (input[0])
|
switch (input[0])
|
||||||
{
|
{
|
||||||
case '+':
|
case '+':
|
||||||
@ -101,8 +96,12 @@ int main()
|
|||||||
printf("no input\n");
|
printf("no input\n");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (flag==0)
|
if (flag==0 || flag==-1)
|
||||||
{
|
{
|
||||||
|
if(flag==-1 && mystack.values[mystack.size-1]==0)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
float op_num=pop_stack(&mystack,input);
|
float op_num=pop_stack(&mystack,input);
|
||||||
push_stack(&mystack,op_num);
|
push_stack(&mystack,op_num);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user