例如,假设我有这个简单的代码:
using namespace std;
char re = 'y';
void mult(int one, int two)
{
int mult = 1;
mult = one * two;
cout << mult << endl;
}
void add(int one, int two)
{
int add = 0;
add = one + two;
cout << add << endl;
}
void rep(int one, int two)
{
}
void ask()
{
int re;
cout << "do you want return to the menu? (1/2)" << endl;
cin >> re;
}
int main()
{
char re;
int one;
int two;
cout << "enter the number one:" << endl;
cin >> one;
cout << "enter the number two:" << endl;
cin >> two;
cout << endl;
cout << "Multiply - 1" << endl;
cout << "Add - 2" << endl;
cout << "Reprint - 3" << endl;
cout << endl;
int menu;
if (re == 'y')
{
cout << "select the function ";
cin >> menu;
switch (menu)
{
case 1:
mult(one, two);
ask();
break;
case 2:
add(one, two);
ask();
break;
case 3:
rep(one, two);
break;
default:
cout << "no such thing" << endl;
break;
}
}
else if (re != 'y')
{
}
return 0;
}
我需要一个方法函数rep来打印出之前调用的函数的答案。
例如,如果函数mult被调用它应该打印多个答案,IF mult和add被调用然后它应该打印mult并添加函数答案,如果只添加那么只添加。
我正在考虑创建一个零数组并更改它,无论函数一或二被调出,然后以某种方式调用答案。但不知道该怎么做。
答案 0 :(得分:0)
您可以使用全局变量。
int last_result = 0;
void mult(int a, int b)
{
last_result = a * b;
std::cout << last_result << std::endl;
}
void add(int a, int b)
{
last_result = a + b;
std::cout << last_result << std::endl;
}
void rep()
{
std::cout << "Last result: " << last_result << std::endl;
}
您还可以让mult
和add
函数返回结果并将结果存储在main
中(并将其传递给rep
函数)。
您可以通过引用last_result
和add
函数传递mult
变量。