0

我正在尝试通过做一个计算器项目来练习 C++。我能够成功地实现目标,但我认为有一种方法可以简化我的 4 个 if 语句。第五个 if 状态我想做其他 4 个在一行中做的事情。我收到一个错误,因为没有';' 在 cout 最后部分的变量之后。

#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
    float first ;
    float last ;
    char op ;

    cout << "Pick your first number.\n";
    cin>>first;
    cout << "Now pick your operator.\n";
    cin>> op;
    cout << "Time for the last number.\n";
    cin>>last;

//  if (op =='*'){ cout << first << op << last << "=" << first * last; };
//  if (op =='/'){ cout << first << op << last << "=" << first / last; };
//  if (op =='+'){ cout << first << op << last << "=" << first + last; };
//  if (op =='-'){ cout << first << op << last << "=" << first - last; };

    if (op){ cout << first << op << last << "=" << first op last; }

    char f;
    cin >> f;
    return 0;
}
4

1 回答 1

0

尽管从技术上讲@tomriddle_1234 是正确的,但您不能执行某种脚本结果,但是您可以先进行计算并确保只有一行进行输出,例如:

    float result
    // this can also be implemented using switch
    if (op == '*') {
      result = first * last;
    } else if (op == '/')
      result = first / last;
    // continue for other operators

     if (op){ cout << first << op << last << "=" << result; }

这至少会减少更多的重复。

于 2013-09-13T01:28:41.270 回答