#include <iostream>
const double pi{3.14};
double radius()
{
std::cout << "What is the radius of your circle?\n";
double radius{};
std::cin >> radius;
return radius;
}
void circumfrence()
{
double circumfrence{2 * pi * radius()};
std::cout << "The circumfrence of your circle is " << circumfrence << std::endl;
}
void area()
{
double area{pi * radius() * radius()}
}
我试图将变量半径从 radius() 传递到 area(),但似乎无法弄清楚。我知道现在我的代码将运行 radius() 两次,这不是我想要的。我正在练习使用函数,这就是为什么我不只是在 area() 的局部范围内要求半径。
我试图这样做以尝试通过引用传递参数,但我在其他函数中不断收到“标识符未定义”错误。
void radius(double& radius)
{
std::cout << "What is the radius of your circle?\n";
double radius{};
std::cin >> radius;
}
这可能是个脑残,因为我想你已经知道怎么做了:
void area()
{
double r{radius()};
double area{pi * r * r};
std::cout << "The area is " << area << "\n";
}