注册 登录
编程论坛 C++教室

c++一道题,不会,谁能告诉我?

hzr 发布于 2017-09-02 21:19, 2438 次点击
简单计算器

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 612     通过数: 298
【题目描述】
一个最简单的计算器,支持+, -, *, / 四种运算。仅需考虑输入输出为整数的情况,数据和运算结果不会超过int表示的范围。然而:

   1. 如果出现除数为0的情况,则输出:Divided by zero!

   2. 如果出现无效的操作符(即不为 +, -, *, / 之一),则输出:Invalid operator!

【输入】
   输入只有一行,共有三个参数,其中第1、2个参数为整数,第3个参数为操作符(+,-,*,/)。

【输出】
输出只有一行,一个整数,为运算结果。然而:

   1.如果出现除数为0的情况,则输出:Divided by zero!

   2.如果出现无效的操作符(即不为 +, -, *, / 之一),则输出:Invalid operator!

【输入样例】
1 2 +
【输出样例】
3
4 回复
#2
hzr2017-09-02 21:19
求解!!!!!
#3
lilimite2017-09-14 18:48
#include<iostream>
using namespace std;

int compute(int a, int b, char c);

void main()
{
    int a, b;
    char c;
    cin >> a >> b >> c;
    compute(a, b, c);
    system("pause");
}

int compute(int a, int b, char c)
{
    int sum=0;
    if ((c == char('+')) || (c == char('-')) || (c == char('*')) || (c == char('/')))
    {
        if (c == char('+'))
        {
            sum = a + b;
            cout << sum << endl;
        }
        else if (c == char('-'))
        {
            sum = a - b;
            cout << sum << endl;
        }
        else if (c == char('*'))
        {
            sum = a*b;
            cout << sum << endl;
        }
        else if (b == 0)
            cout << "Divided by zero!" << endl;
        else
        {
            sum = a / b;
            cout << sum << endl;
        }
   
    }
    else
        cout << "Invalid operator!" << endl;
    return 0;
}
#4
lilimite2017-09-14 18:49
刚写的,用vs2013调试没问题,望有用
#5
ddxvip2017-09-16 22:42
int main()
1