请你设计一个计算器,实现简单的数字计算功能。输入两个数和一个操作符(+、-、*、/、%)组成的表达式,输出该表达式及运算结果。注意输出结果为整数。

请你设计一个计算器,实现简单的数字计算功能。输入两个数和一个操作符(+、-、*、/、%)组成的表达式,输出该表达式及运算结果。注意输出结果为整数。

img

参考一下

#include <iostream>

using namespace std;

int main() {
    int num1, num2, result;
    char op;

    cout << "请输入两个数字和一个操作符(+、-、*、/、%),用空格隔开:" << endl;
    cin >> num1 >> num2 >> op;

    switch (op) {
        case '+':
            result = num1 + num2;
            break;
        case '-':
            result = num1 - num2;
            break;
        case '*':
            result = num1 * num2;
            break;
        case '/':
            result = num1 / num2;
            break;
        case '%':
            result = num1 % num2;
            break;
        default:
            cout << "无效的操作符" << endl;
            return 1;
    }

    cout << num1 << " " << op << " " << num2 << " = " << result << endl;

    return 0;
}


  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7625523
  • 除此之外, 这篇博客: 浅谈算数操作符-%的使用中的 算数操作符-%的使用 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  •   %操作符的两个操作数必须为整数,因此,两个操作数是可以为负数的。标准规定,如果 a 和 b 都是整数,则 a % b 可以用公式 a - (a / b) * b 算出。
    因此,有如下代码:

    #include <stdio.h>
    int main()
    {
    	int a = 7, b = -8, c = 3, d = -3;
    
    	//正数模正数
    	printf("%d\n", a%c);//1
    	//a - (a / b) * b
    	//7 - (7 / 3) * 3
    
    	//正数模负数
    	printf("%d\n", a%d);//1
    	//7 - (7 / -3) *-3
    
    	//负数模正数
    	printf("%d\n", b%c);//-2
    	//-8 - (-8 / 3) * 3
    
    	//负数模负数
    	printf("%d\n", b%d);//-2
    	//-8 - (-8 / -3) * -3
    
    	return 0;
    }