出于某种原因,它不会打印我已经尝试过的所有返回语句,但我无法正确理解。
//calculator
#include <iostream>
using namespace std;
int input1;
int input2;
int add(int input1, int input2)
{
cout<<"Enter two numbers to add: ";
cin>> input1,input2;
return (input1 + input2);
}
int subtract(int input1, int input2)
{
cout<<"Enter first number to subtract: ";
cin>> input1;
cout<<"Enter second number to subtract: ";
cin>> input2;
return (input1 - input2);
}
int multiply(int input1, int input2)
{
cout<<"Enter two numbers to multiply: ";
cin>> input1, input2;
return (input1 * input2);
}
int main()
{
cout<<"what do you want to do: ";
int selection;
cout<<"1.add\n";
cout<<"2.subtract\n";
cout<<"3.multiply\n";
cin>>selection;
if (selection == 1) {
return add(input1, input2);
return input1 + input2;
}
else if (selection == 2) {
return subtract(input1, input2);
return input1 - input2;
}
else if (selection == 3) {
return multiply( input1, input2);
return input1 * input2;
}
else{
cout<<"Error choice not available";
}
cin.get();
system("pause");
}
答案 0 :(得分:3)
“由于某种原因,它不会打印我的退货声明”。
这是因为您不打印任何内容,只需从main
返回函数的结果。
这是你的问题:
if (selection == 1) {
return add(input1, input2);
return input1 + input2;
// no printing statment
}
else if (selection == 2) {
return subtract(input1, input2);
return input1 - input2;
// no printing statment here as well
}
else if (selection == 3) {
return multiply( input1, input2);
return input1 * input2;
// nither here
}
你应该这样打印:
if (selection == 1) {
cout << add(input1, input2) << endl;
}
else if (selection == 2) {
cout << subtract(input1, input2) << endl;
}
else if (selection == 3) {
cout << multiply( input1, input2) << endl;
}
此外,您需要像在减法功能中那样从用户那里获得输入,即更改此内容:
cout<<"Enter two numbers to add: ";
cin>> input1,input2;
cout<<"Enter two numbers to multiply: ";
cin>> input1, input2;
对此:
cout<<"Enter first number to subtract: ";
cin>> input1;
cout<<"Enter second number to subtract: ";
cin>> input2;
答案 1 :(得分:0)
基本上,您没有看到返回值,因为您没有将它们打印到屏幕上。
要么在每个例程中,要么在main
例程中。
您可能还想删除主例程中的所有return
语句;他们每个人都会立即结束正在运行的程序。 (提示:删除每个一个是不够的。)
答案 2 :(得分:0)
答案 3 :(得分:0)
只是给出一个稍微完整的解释 - 你在main中的return语句与其他函数完全相同 - 返回一个值。正如Ran Eldan所提到的,你需要使用cout打印到控制台,就像你要求输入一样。当您在main中返回一个int时,实际上是将该数字返回给操作系统,以用作执行后要检查的程序状态代码(“0”通常是“一切顺利”的代码)。您可以使用“echo $?”在UNIX终端(Mac OSX或Linux)中实际检查此值。程序结束后(没有报价)。使用您当前的程序结构,您可以通过这样做获得结果,但这显然不是您想要的。