将cin值从函数传递到主函数

时间:2020-09-30 16:24:05

标签: c++

该程序允许用户在输入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;
} 

1 个答案:

答案 0 :(得分:1)

如果您希望函数更改传递给它的参数,则应按引用传递

void inputs(int& num1, int& num2, int& num3, int& num4, int& num5) {

该函数没有明显的理由返回一个int,所以我将其更改为void

我还认为您需要在intdouble之间做出选择,上面的代码似乎对此不太确定。