Calling a function in main(在 main 中调用函数)
问题描述
我只是在学习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 中调用函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 main 中调用函数
基础教程推荐
- 为什么 RegOpenKeyEx() 在 Vista 64 位上返回错误代码 2021-01-01
- 初始化列表*参数*评估顺序 2021-01-01
- 我应该对 C++ 中的成员变量和函数参数使用相同的名称吗? 2021-01-01
- 非静态 const 成员,不能使用默认赋值运算符 2022-10-09
- 通过引用传递 C++ 迭代器有什么问题? 2022-01-01
- GDB 显示调用堆栈上函数地址的当前编译二进制文 2022-09-05
- 为什么 typeid.name() 使用 GCC 返回奇怪的字符以及如 2022-09-16
- 为什么派生模板类不能访问基模板类的标识符? 2021-01-01
- 如果我为无符号变量分配负值会发生什么? 2022-01-01
- CString 到 char* 2021-01-01
