加减乘除法运算(函数数组指针法)

#include<stdio.h>

double add(double x, double y)//加
{
    return x + y;
}
double sub(double x, double y)//减
{
    return x - y;
}
double mul(double x, double y)//乘
{
    return x*y;
}
double div(double x, double y)//除
{
    if (y != 0)
    {
        return x/y;
    }
    else
    {
        printf("输入错误");
        return -1;
    }
}
void menu()
{
    printf("************************\n");
    printf("***1.add        2.sub***\n");
    printf("***3.mul        4.div***\n");
    printf("******* 0..exit ********\n");
    printf("************************\n");
}
int main()
{
    int input = 1;
    double a = 0;
    double b = 0;
    double ret;
    double(*p[5])(double a, double b) = { 0, add, sub, mul, div };
    while (input)
    {
        menu();
        printf("请输入需要的操作:\n");
        scanf("%d",&input);
        if (input > 0 && input <= 4)
        {
            printf("请输入操作数:\n");
            scanf("%lf%lf",&a,&b);
            ret = (*p[input])(a, b);
            printf("%.2lf\n", ret);
        }
        else if (0==input)
        {
            break;
        }
        else
        {
            printf("输入错误");
        }
    }
    return 0;
}

文章名称:加减乘除法运算(函数数组指针法)
网站路径:https://www.cdcxhl.com/article40/jsheeo.html

成都网站建设公司_创新互联,为您提供服务器托管域名注册App开发虚拟主机做网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站网页设计