设为首页 加入收藏

TOP

用C语言编写函数实现一个整数计算机,程序接受三个参数,第一个参数为操作项,后两个参数为操作数。
2015-11-19 23:07:00 来源: 作者: 【 】 浏览:11
Tags:语言 编写 函数 实现 一个整数 计算机 程序 接受 三个参数 一个参数 操作 两个参数
函数功能:
使用main函数的参数,实现一个整数计算机,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。
?
思考:
三个参数中两个操作数不用处理,直接传入即可,而对于第一个操作数就需要处理了,以保证传入的参数是“'-a','-s','-m','-d'”,以便于处理计算,第一步将操作符号转化为上述赋好,然后将参数以及操作数传入函数。
程序如下:
/*
**1.使用main函数的参数,实现一个整数计算机,程序可以接受三个参数,
**第一个参数“-a”选项执行加法,“-s”选项执行减法,
**“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。
*/
#include
#include
#include
int my_math(char *p, int num1, int num2)
{
    assert(p);
    if (p == "-a")
        return num1 + num2;
    else if (p == "-s")
        return num1 - num2;
    else if (p == "-m")
        return num1*num2;
    else if (p == "-d")
        return num1 / num2;
    else return 0;
}
int main()
{
    char a,b;
    char *p=&b;
    int num1 = 0;
    int num2 = 0;
    printf("请输入要计算的算式:");
    scanf("%d%c%d",&num1,&a,&num2);  //录入算式,num1,num2为操作数,a保存的是操作符
    while (1)      //分别对参数指针p赋值,‘+’,‘-’,‘*’,‘/’,分别对应“-a,-s,-m,-d”,如果别的符号队p赋‘\0’
    {
        if (a == '+')
        {
            p= "-a" ;
            break;
        }
        else if (a == '-')
        {
            p = "-s";
            break;
        }
        else if (a == '*')
        {
            p = "-m";
            break;
        }
        else if (a == '/')
        {
            p = "-d";
            break;
        }
        else *p = '\0';
    }
    int result = my_math(p, num1, num2);    //函数调用,得到结果。
    printf("%d%c%d=%d\n",num1,a,num2,result);  //分别输出
    system("pause");
    return 0;
}

?

经过验证,结果正确,注意:录入算数式的时候不要录入等号,如要计算5加3,录入“5+3”即可!
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言之字符串数组空格替换 下一篇[C语言] 实现strcmp

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: