⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calculate.cpp

📁 这是一个基于symbian操作系统的速算24游戏
💻 CPP
📖 第 1 页 / 共 2 页
字号:
#include <string.h>

int get1(int (*p1)[4],char (*p2)[3])
{
    int temp;
    switch((*p2)[0])
    {
    case 0: 
        temp=(*p1)[0]+(*p1)[1]; 
        break;
    case 1: 
        temp=(*p1)[0]-(*p1)[1]; 
        break;
    case 2:
        temp=(*p1)[0]*(*p1)[1];
        break;
    case 3:
        if ((*p1[1])&&((*p1)[0]%(*p1)[1]==0))
            {
                temp=(*p1)[0]/(*p1)[1];
                break;
            }
        else 
            return(0);
    }
    switch((*p2)[1])
    {
    case 0:
        temp+=(*p1)[2];
        break;
    case 1:
        temp-=(*p1)[2];
        break;
    case 2:
        temp*=(*p1)[2];
        break;
    case 3:
        if ((*p1)[2]&&(temp%(*p1)[2]==0))
            {
                temp=temp/(*p1)[2];
                break;
            }
        else 
            return(0);
    }
    switch((*p2)[2])
    {
    case 0:
        temp+=(*p1)[3];
        break;
    case 1:
        temp-=(*p1)[3];
        break;
    case 2:
        temp*=(*p1)[3];
        break;
    case 3:
        if ((*p1)[3]&&(temp%(*p1)[3]==0))
            {
                temp=temp/(*p1)[3];
                break;
            }
        else
            return(0);
    }
    return(temp);
}

int get2(int (*p1)[4],char (*p2)[3])
{
    int temp;
    switch((*p2)[1])
    {
    case 0:
        temp=(*p1)[1]+(*p1)[2];
        break;
    case 1:
        temp=(*p1)[1]-(*p1)[2];
        break;
    case 2:
        temp=(*p1)[1]*(*p1)[2];
        break;
    case 3:
        if ((*p1)[2]&&((*p1)[1]%(*p1)[2]==0))
            {
                temp=(*p1)[1]/(*p1)[2];
                break;
            }
        else return(0);
    }
    switch((*p2)[0])
    {
    case 0:
        temp=(*p1)[0]+temp;
        break;
    case 1:
        temp=(*p1)[0]-temp;
        break;
    case 2:
        temp=(*p1)[0]*temp;
        break;
    case 3:
        if ((temp)&&((*p1)[0]%temp==0))
            {
                temp=(*p1)[0]/temp;
                break;
            }
        else
            return(0);
    }
    switch((*p2)[2])
    {
    case 0:
        temp+=(*p1)[3];
        break;
    case 1:
        temp-=(*p1)[3];
        break;
    case 2:
        temp*=(*p1)[3];
        break;
    case 3:
        if ((*p1)[3]&&(temp%(*p1)[3]==0))
            {
                temp=temp/(*p1)[3];
                break;
            }
        else
            return(0);
    }
    return(temp);
}
int get3(int (*p1)[4],char (*p2)[3])
{
    int temp;
    switch((*p2)[1])
    {
    case 0:
        temp=(*p1)[1]+(*p1)[2];
        break;
    case 1:
        temp=(*p1)[1]-(*p1)[2];
        break;
    case 2:
        temp=(*p1)[1]*(*p1)[2];
        break;
    case 3:
        if ((*p1)[2]&&((*p1)[1]%(*p1)[2]==0))
            {
                temp=(*p1)[1]/(*p1)[2];
                break;
            }
        else return(0);
    }
    switch((*p2)[2])
    {
    case 0:
        temp+=(*p1)[3];
        break;
    case 1:
        temp-=(*p1)[3];
        break;
    case 2:
        temp*=(*p1)[3];
        break;
    case 3:
        if ((*p1)[3]&&(temp%(*p1)[3]==0))
            {
                temp=temp/(*p1)[3];
                break;
            }
        else return(0);
    }
    switch((*p2)[0])
    {
    case 0:
        temp=(*p1)[0]+temp; break;
    case 1:
        temp=(*p1)[0]-temp; break;
    case 2:
        temp=(*p1)[0]*temp; break;
    case 3:
        if ((temp)&&(*p1)[0]%temp==0)
            {
                temp=(*p1)[0]/temp;
                break;
            }
        else return(0);
    }
    return(temp);
}

int get4(int (*p1)[4],char (*p2)[3])
{
    int temp;
    switch((*p2)[2])
    {
    case 0:
        temp=(*p1)[2]+(*p1)[3]; break;
    case 1:
        temp=(*p1)[2]-(*p1)[3]; break;
    case 2:
        temp=(*p1)[2]*(*p1)[3]; break;
    case 3:
        if ((*p1)[3]&&((*p1)[2]%(*p1)[3]==0))
            {
                temp=(*p1)[2]/(*p1)[3];
                break;
            }
        else return(0);
    }
    switch((*p2)[1])
    {
    case 0:
        temp=(*p1)[1]+temp; break;
    case 1:
        temp=(*p1)[1]-temp; break;
    case 2:
        temp=(*p1)[1]-temp; break;
    case 3:
        if ((temp)&&(*p1)[1]%temp==0)
            {
                temp=(*p1)[1]/temp;
                break;
            }
        else return(0);
    }
    switch((*p2)[0])
    {
    case 0:
        temp=(*p1)[0]+temp; break;
    case 1:
        temp=(*p1)[0]-temp; break;
    case 2:
        temp=(*p1)[0]*temp; break;
    case 3:
        if ((temp)&&(*p1)[0]==0)
            {
                temp=(*p1)[0]/temp;
                break;
            }
        else return(0);
    }
    return(temp);
}

int get5(int (*p1)[4],char (*p2)[3])
{
    int tmp1,tmp2;
    switch((*p2)[0])
    {
    case 0:
        tmp1=(*p1)[0]+(*p1)[1]; break;
    case 1:
        tmp1=(*p1)[0]-(*p1)[1]; break;
    case 2:
        tmp1=(*p1)[0]*(*p1)[1]; break;
    case 3:
        if ((*p1)[1]&&((*p1)[0]%(*p1)[1]==0))
            {
                tmp1=(*p1)[0]/(*p1)[1];
                break;
            }
        else return(0);
    }
    switch((*p2)[2])
    {
    case 0:
        tmp2=(*p1)[2]+(*p1)[3]; break;
    case 1:
        tmp2=(*p1)[2]-(*p1)[3]; break;
    case 2:
        tmp2=(*p1)[2]*(*p1)[3]; break;
    case 3:
        if ((*p1)[3]&&((*p1)[2]%(*p1)[3]==0))
            {
                tmp2=(*p1)[2]/(*p1)[3];
                break;
            }
        else return(0);
    }
    switch((*p2)[1])
    {
    case 0:
        tmp1+=tmp2; break;
    case 1:
        tmp1-=tmp2; break;
    case 2:
        tmp1*=tmp2; break;
    case 3:
        if ((tmp2)&&(tmp1%tmp2==0))
            {
                tmp1/=tmp2;
                break;
            }
        else return(0);
    }
    return(tmp1);
}
int calculate(int p1, int p2, int p3, int p4, int total, char *answer)
{    
    //TName info;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -