问题描述
我只是在学习C++,这里有一些代码:
I'm just learning C++ and I have a little code here:
using namespace std;
int main()
{
cout<<"This program will calculate the weight of any mass on the moon
";
double moon_g();
}
double moon_g (double a, double b)
{
cout<<"Enter the mass in kilograms. Use decimal point for any number entered";
cin>>a;
b=(17*9.8)/100;
double mg=a*b;
return mg;
}
它可以编译,但是当我运行它时,它只会打印出来:
It compiles, but when I run it it only prints out:
这个程序将计算月球上任何质量的重量
但不执行 moon_g
函数.
推荐答案
这一行:
double moon_g();
实际上没有做任何事情,它只是说明存在一个函数double moon_g()
.你想要的是这样的:
doesn't actually do anything, it just states that a function double moon_g()
exists. What you want is something like this:
double weight = moon_g();
cout << "Weight is " << weight << endl;
这还不行,因为你没有函数double moon_g()
,你有的是一个函数double moon_g(double a, double b)代码>.但是这些参数并没有真正用于任何事情(好吧,它们是,但没有理由将它们作为参数传入).所以像这样从你的函数中消除它们:
This won't work yet, because you don't have a function double moon_g()
, what you have is a function double moon_g(double a, double b)
. But those arguments aren't really used for anything (well, they are, but there's no reason to have them passed in as arguments). So eliminate them from your function like so:
double moon_g()
{
cout<<"Enter the mass in kilograms. Use decimal point for any number entered";
double a;
cin>>a;
double b=(17*9.8)/100;
double mg=a*b;
return mg;
}
(并在调用之前声明该函数.)可以进行更多改进,但现在就足够了.
(And declare the function before you call it.) More refinements are possible, but that'll be enough for now.
这篇关于在 main 中调用函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!