C++ //练习 14.44 编写一个简单的桌面计算器使其能处理二元运算。

C++ Primer(第5版) 练习 14.44

练习 14.44 编写一个简单的桌面计算器使其能处理二元运算。

环境:Linux Ubuntu(云服务器)
工具:vim

 

代码块
/*************************************************************************
	> File Name: ex14.44.cpp
	> Author: 
	> Mail: 
	> Created Time: Tue 09 Jul 2024 10:37:09 AM CST
 ************************************************************************/

#include<iostream>
#include<vector>
#include<functional>
#include<algorithm>
#include<map>
using namespace std;

int add(int a, int b){
    return a + b;
}

auto mod = [](int a, int b){ return a % b; };

struct divide{
    int operator()(int a, int b){
        return a / b;
    }
};


int main(){
    map<string, function<int(int, int)>> binops = {
        {"+", add},
        {"-", std::minus<int>()},
        {"/", divide()},
        {"*", [](int a, int b){ return a * b; }},
        {"%", mod}
    };

    int a, b;
    cout<<"Enter a and b: ";
    cin>>a>>b;
    cout<<"a + b = "<<binops["+"](a, b)<<endl;
    cout<<"a - b = "<<binops["-"](a, b)<<endl;
    cout<<"a * b = "<<binops["*"](a, b)<<endl;
    cout<<"a / b = "<<binops["/"](a, b)<<endl;
    cout<<"a % b = "<<binops["%"](a, b)<<endl;

    return 0;
}
运行结果显示如下

在这里插入图片描述

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 06:52:03       53 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 06:52:03       55 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 06:52:03       46 阅读
  4. Python语言-面向对象

    2024-07-11 06:52:03       56 阅读

热门阅读

  1. CentOS 7 编译安装 sqlite3

    2024-07-11 06:52:03       19 阅读
  2. 面试题目分享

    2024-07-11 06:52:03       19 阅读
  3. ChatGPT 5.0:一年后的猜想

    2024-07-11 06:52:03       21 阅读
  4. Spring Boot集成pf4j实现插件开发功能

    2024-07-11 06:52:03       20 阅读
  5. 网络协议三要素是什么

    2024-07-11 06:52:03       23 阅读