请大神解答,我的这个计算器这段程序怎么改成可以 2个数以上 的相加减,最好乘除也可以

2019-07-15 13:41发布

请大神解答,我的这个计算器这段程序怎么改成可以  2个数以上  的相加减,最好乘除也可以
void count()
{

        unsigned char key,i=0,a[9];
        unsigned long num0;
        key=key_inquiry();

        if(key<10)
        {
                num1=num1*10+key;
        }

        if(key=='+')
        {
                num2=num1;
                num1=0;
                Symbol=key;
        }

        if(key=='-')
        {
                num2=num1;       
                num1=0;
                Symbol=key;
        }
        if(key=='*')
        {
                num2=num1;
                num1=0;
                Symbol=key;
        }
        if(key=='/')
        {
                num2=num1;
                num1=0;
                Symbol=key;
        }

        if(key=='=')
        {
                WriteAddress(0x41);
                switch(Symbol)
                {
                case '+':num0=num1+num2; break;
                case '-':
                        if(num2>num1)
                                num0=(num2-num1);
                        if(num2<num1)
                        {
                                WriteData('-');
                                num0=num1-num2;
                        }
                break;
                case '*':num0=(num1*num2);break;
                case '/':
                        if(num1>0)
                                num0=(num2/num1);
                        else
                                WriteData('e');
                                break;       
                default:num0=0;break;
                }

       
                        if(num0==0)
                        {
                                        WriteData('0');
                        }
                        while(num0>0)
                         {         i++;
                                a=num0%10;
                                num0=num0/10;
                               
                         }
                        for(;i>0;i--)
                        {
                                WriteData(num[a]);
                        }
       
                num1=0;num2=0;Symbol=0;
                flag=1;       
        }
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。