baybaye 2016-03-05 07:40 采纳率: 70%
浏览 1540
已采纳

数据结构 函数指针

实现计算器的加法、减法、乘法和除法。使用一个命令行参数为您的选择,和2个数字。你使用下面的数组来赋值操作符函数。

int add(int x, int y);
int sub(int x, int y);
int mul(int x, int y);
int div(int x, int y);
int (*pf[4])(int, int) = { add, sub, mul, div };

图片说明

数据结构:函数指针数组
输入:选择运营商的数量(1,2,3,或4),
操作数的2个整数
输出:操作结果

  • 写回答

2条回答 默认 最新

  • u52983610 2016-03-05 08:09
    关注
     #include <iostream> 
    using namespace std;
    int add(int x,int y){
        return x+y;
    }
    int sub(int x,int y){
        return x-y;
    }
    int mul(int x,int y){
        return x*y;
    }
    int div(int x,int y){
        return x/y;
    }
    int main(){
        int (*pf[4])(int, int) = { add, sub, mul, div };
        while(true){
            cout<<"0. add"<<endl;
            cout<<"1. sub"<<endl;
            cout<<"2. mul"<<endl;
            cout<<"3. div"<<endl;
            cout<<"4. exit"<<endl;
    
            cout<<"Select Operation :";
            int opeNum;
            cin>>opeNum;
            if(opeNum==4){
                return 0;
            }
            cout<<"Input 2 operand :";
            int a,b;
            cin>>a>>b;
            cout<<"Result = "<<pf[opeNum](a,b)<<endl;
        }
    
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载