想请友友们帮我做下下面的题,用C语言

从键盘输入两个小于100的整数A和B,计算A与B两数的基本算数运算。需要注意的是:A和B的每一位数位上的数字由对应的英文单词给出。系统要求:(1)系统由菜单做导航,给出输入数据功能、退出程序功能、数据输入功能并能够循环输入执行运算等。(2)在数据运算输入功能菜单下分别给出A与B的相加运算、A与B的相乘运算、A与B的相减运算、A与B的相除运算、A与B的相除取于运算等功能。(3)当A输入为zero,同时B输入为zero时自动返回菜单上一级。输入样例:one + two =three four + five six =zero seven + eight nine =zero + zero =输出样例:one + two = threethree four + five six = nine zerozero seven + eight nine = nine six

输入输出样例看的一头雾水,你就不能换个行

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


void showmenu()
{
    printf("            数据运算功能\n\n");
    printf("        1、两数相加\n");
    printf("        2、两数相减\n");
    printf("        3、两数相乘\n");
    printf("        4、两数相除\n");
    printf("        5、两数求余\n");
    printf("        0、退出程序\n\n");
    printf("    请输入您的选择:");
}

bool charton(char *s,int &n)
{
    for(int i=0;i<10;i++)
    {
        if(strcmp(num[i],s) == 0)
        {
            n=i;
            return true;
        }
    }
    return false;
}

bool charston(char *s,int &n)
{
    char c1[10] = {0};
    char c2[10] = {0};
    char *p = c1;
    int pos = 0;
    bool bp2 = false;
    for(int i=0;s[i] !=0;i++)
    {
        if(s[i] != ' ')
            p[pos++] = s[i];
        else
        {
            if(bp2)
                break;
            else if(strlen(p) > 0)
            {
                pos = 0;
                p = c2;
                bp2 = true;
            }
        }
    }
    if(strlen(c2) > 0)
    {
        int m;
        if(charton(c2,m))
            n=m;
        else
            return false;
        if(charton(c1,m))
            n+=m*10;
        else
            return false;
    }
    else if(strlen(c1) > 0)
    {
        if(!charton(c1,n))
            return false;
    }
    else 
        return false;
    return true;
}

int main()
{
    while(1)
    {
        system("cls");
        showmenu();
        int sel;
        scanf("%d",&sel);
        if(sel == 0)
            exit(0);
        char d1[20] = {0};
        char d2[20] = {0};
        printf("请输入第一个数:");
        scanf("%[^\n]",d1);
        getchar();
        int n,m;
        if(!charston(d1,n))
        {
           printf("输入错误,重来!\n");
           continue;
        }
        printf("请输入第二个数:");
        scanf("%[^\n]",d2);
        getchar();
        if(!charston(d2,m))
        {
            printf("输入错误,重来!\n");
            continue;
        }
        switch(sel)
        {
            case 1:
                {
                n = n+m;
                printf("%s + %s = ",d1,d2);
                }
                break;
            case 2:
                {
                n = n-m;
                printf("%s - %s = ",d1,d2);
                }
                break;
            case 3:
                {
                n = n*m;
                printf("%s * %s = ",d1,d2);
                }
                break;
            case 4:
                {
                n = n/m;
                printf("%s / %s = ",d1,d2);
                }
                break;
            case 5:
                {
                n = n%m;
                printf("%s % %s = ",d1,d2);
                }
                break;
            default:
                continue;
        }

        printf("%s %s\n",num[n/10],num[n%10]);
        
    }


    return 0;
}