NOIP2000 普及组 计算器改良

NOIP2000 普及组 计算器改良
大致意思是叫我们编个程序,计算一元一次方程
只包含整数、小写字母及 +、-、= 这三个数学符号

#include
using namespace std;
double cntx=0,cnty=0;
char bef,q;
int main()
{
    int k,p,num=0;
    k=1,p=1;
    while(1)
    {
        char s=getchar();
        if(s=='\n')
            break;
            
        if(s=='-'){
            if(bef>='0'&&bef<='9'){
                cntx=cntx+k*p*num;
                num=0;
            }
            else if(bef>='a'&&bef<='z'){
                q=bef;
                if(num==0)
                    num=1;
                cnty=cnty-k*p*num;
                num=0;
            }
            k=-1;
        }
        if(s=='+'){
            if(bef>='0'&&bef<='9'){
                cntx=cntx+k*p*num;
                num=0;
            }
            else if(bef>='a'&&bef<='z'){
                q=bef;
                if(num==0)
                    num=1;
                cnty=cnty-k*p*num;
                num=0;
            }
            k=1;
        }
        if(s>='0'&&s<='9')
        {
            int x=int(s)-48;
            num=num*10+x;
//            cout<if(s=='='){
            if(bef>='0'&&bef<='9'){
                cntx=cntx+k*p*num;
                num=0;
            }
            else if(bef>='a'&&bef<='z'){
                q=bef;
                if(num==0)
                    num=1;
//                cout<cnty=cnty-k*p*num;
                num=0;
//                cout<p=-p;k=1;
        }
            
        bef=s;
//        cout<" ";
    }
//    cout<if(bef>='0'&&bef<='9'){
            cntx=cntx+k*p*num;
            num=0;
        }
        else if(bef>='a'&&bef<='z'){
            q=bef;
            if(num==0)
                num=k;
            cnty=cnty-k*p*num;
            num=0;
        }
//    cout<" "<if(cntx==0)
        cnty=1;
    cout<"="<3)<0;
}

结果WA了
郁闷的下载了测试点
结果是对的