示例#1
0
int main(){
	Calculator calc;	//計算機オブジェクト生成
	int a,b;	//数値格納変数
	string ope[2];	//演算子格納変数
	bool flag = true;	//継続するか判定する変数

	//終了するまでループ
	while (flag){
		cout << "数値1を入力:" << flush;
		cin >> a;
		cout << "演算子を入力:" << flush;
		cin >> ope[0];

		if (ope[0] != "=")
		{
			cout << "数値2を入力:" << flush;
			cin >> b;
			cout << "演算子を入力:" << flush;
			cin >> ope[1];

			//入力した値をvalue1,2にセット
			calc.SetValue1(a);
			calc.SetValue2(b);

			/*数値1の後に入力した演算子の計算を行う
			計算結果をメンバ変数ansとvalue1に代入する*/
			calc.Calc(ope[0]);

			/*数値2の後に入力した演算子が"="でなかった場合
			"="が入力されるまで計算を行う*/
			if (ope[1] != "=")
			{
				for (int i = 3; ope[1] != "=";i++)
				{
					cout << "数値" << i << "を入力:" << flush;
					cin >> b;

					/*value1には前の計算結果が格納されてるので
					value2に入力した値を格納する*/
					calc.SetValue2(b);
					calc.Calc(ope[1]);

					cout << "演算子を入力:" << flush;
					cin >> ope[1];
				}
				//答えの表示
				cout << "Answer:" << calc.GetAns() << endl;
				flag = ContinueProcess();
			}
			else
			{
				//答えの表示
				cout << "Answer:" << calc.GetAns() << endl;
				flag = ContinueProcess();
			}
		}
int main(int argc, char* argv[]) {
  Calculator calculator;
  cout << "First Step" << endl;
  // should print 5.85714
  cout << calculator.Calc("3 + 4 * 5 / 7") << endl;

  cout << "\nSecond Step" << endl;
  // should print a 5
  cout << calculator.Calc("( 3 + 4 ) * 5 / 7") << endl;

  cout << "\nThird Step" << endl;
  // should print 3 and 243. 3 for "pi" and 243 for "9 * 9 * 3".
  vector<double> output = calculator.CalcWithVars(
      { "pi = 3", "pizza = 9 * 9 * pi" });
  for (size_t i = 0; i < output.size(); ++i) {
    cout << output[i] << endl;
  }
}