C++程序 用英文单词模拟数学计算

1个回答

  • 除法方面没做不整除处理以及除数是0的情况.自己修改下.如果有要求的话.

    #include

    #include

    using namespace std;

    string num[]={"zero","one","two","three","four","five","six","seven","eight","nine"};

    void output(int k)

    {

    if(k==0) return ;

    output(k/10);

    cout<

    }

    int main()

    {

    do

    {

    int a[2]={0};

    int k=0;

    int t;

    string tmp;

    while(cin>>tmp)

    {

    if(tmp=="=") break;

    if(tmp=="+" || tmp=="-" || tmp=="*"|| tmp=="/")

    {

    if(tmp=="+") t=0;

    if(tmp=="-") t=1;

    if(tmp=="*") t=2;

    if(tmp=="/") t=3;

    k++;

    }

    else

    {

    int i;

    for(i=0;;i++) { if(num[i]==tmp) break;}

    a[k]=a[k]*10+ i;

    }

    }

    if(a[0]==0&&a[1]==0) break;

    if(t==0) k=a[0]+a[1];

    if(t==1) k=a[0]-a[1];

    if(t==2) k=a[0]*a[1];

    if(t==3) k=a[0]/a[1];

    if(k==0) cout

    }while(true);

    return 0;

    }