该程序允许用户在输入5个数字之前先选择要使用的操作。
我试图通过创建一个将获得5次用户输入的函数来减少我的代码行,因此我可以在每次需要时调用该函数,而不必在if else语句中全部键入4次。
问题是当我在if else语句中调用输入函数时,它不读取在输入函数中输入的值。
这是我的代码。
#include <iostream>
using namespace std;
int main() {
char Choice;
cout << "MATH OPERATIONS\n[+]\tAddition\n[-]\tSubtraction\n[*]\tMultiplication\n[/]\tDivision";
cout << "\nEnter you Choice: ";
cin >> Choice;
if ( Choice == '+') {
inputs();
double answer = num1 + num2 + num3 + num4 + num5;
cout << "Sum : " << answer << endl;
}
else if (Choice == '-') {}
else if (Choice == '*') {}
else if (Choice == '/') {}
else {}
}
int inputs(int num1, int num2, int num3, int num4, int num5) {
cout << "1st Number: ";
cin >> num1;
cout << "2nd Number: ";
cin >> num2;
cout << "3rd Number: ";
cin >> num3;
cout << "4th Number: ";
cin >> num4;
cout << "5th Number: ";
cin >> num5;
}
答案 0 :(得分:1)
如果您希望函数更改传递给它的参数,则应按引用传递
void inputs(int& num1, int& num2, int& num3, int& num4, int& num5) {
该函数没有明显的理由返回一个int,所以我将其更改为void
。
我还认为您需要在int
和double
之间做出选择,上面的代码似乎对此不太确定。