だから、僕は関数を使用して簡単な電卓を書いていたし、私は簡単に可能な限り使用することを望んでいました。私は基本的に、1行のコードで、数値を求めたり、計算をしたり、結果を計算したりする全プロセスを実行できるようにしたいと考えました。しかし、私は問題があります。下のコードで、私がメイン関数で行うとき "cout < < calculate(askCalculation()、askNumber1()、askNumber2())< < endl; は、と私はそれが最初の計算は、最初の数と2番目の番号をお願いしたいと思いますし、プログラムを実行します。しかしそれはそうしません、実際には反対の形でそれを行います。理由があるのですが、どうすれば修正できますか?C++:なぜ、常に最後のパラメータを最初に行うのですか?
ああとplsは私はあなたがちょうどそれがさらに簡単にするために1クラスの目的球を尋ねる3を入れることができます知っているが、私はその同じクラスで計算目的球を置くことができる方法はありますか?
#include <iostream>
using namespace std;
int calculate(int calculation, int firstNumber, int lastNumber)
{
switch(calculation)
{
case 1:
return firstNumber + lastNumber;
break;
case 2:
return firstNumber - lastNumber;
break;
case 3:
return firstNumber * lastNumber;
break;
case 4:
return firstNumber/lastNumber;
break;
}
}
int askNumber1()
{
int a;
cout << "Give the first number" << endl;
cin >> a;
return a;
}
int askNumber2()
{
int b;
cout << "Give the second number" << endl;
cin >> b;
return b;
}
int askCalculation()
{
int c;
cout << "what calculation do you want to do? add (1) subtract (2) multiplication (3) divide (4)" << endl;
cin >> c;
return c;
}
int main()
{
cout << calculate(askCalculation(), askNumber1(), askNumber2()) << endl;
return 0;
}