我正在为我正在上的类(class)编写程序。我在获得正确输出时遇到问题。我以前编程过很多次,通常我会将我的方法声明设为全局。然而,我们的教授告诉我们,我们不允许拥有全局职能。我们所有的函数都必须在主循环中声明。下面是调用两个主要函数的循环。第一个运行计算。另一个将输出显示到屏幕上。问题是程序没有多次计算,而是多次输出相同的数字。任何帮助是极大的赞赏。
循环:
for ( YearNumber = 1; YearNumber <= Years; YearNumber++)
{
/*--------------------------------------------------*/
/* */
/* Call ComputeFutureValue Function */
/* */
/*--------------------------------------------------*/
ComputeFutureValue (Principle, OnePlusInterestRate, YearNumber);
/*--------------------------------------------------*/
/* */
/* Call DisplayYearInfo Function */
/* */
/*--------------------------------------------------*/
DisplayYearInfo (YearNumber, FutureValue);
}
计算函数:
float ComputeFutureValue (float Principle, float OnePlusInterestRate, int YearNumber)
{
float FutureValue = Principle * pow (OnePlusInterestRate, YearNumber);
}
显示方式:
void DisplayYearInfo (int YearNumber, float FutureValue)
{
cout << setw (2)
<< YearNumber
<< setw (22)
<< FutureValue
<< "\n";
}
最佳答案
您的 ComputeFutureValue
不返回任何内容 - 它仅声明一个在函数外部不可见的局部变量。
for ( YearNumber = 1; YearNumber <= Years; YearNumber++)
{
float FutureValue = ComputeFutureValue (Principle, OnePlusInterestRate, YearNumber);
DisplayYearInfo (YearNumber, FutureValue);
}
float ComputeFutureValue (float Principle, float OnePlusInterestRate, int YearNumber)
{
return Principle * pow (OnePlusInterestRate, YearNumber);
}
关于c++ - 从 Main 方法调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8003667/