我正在为我正在上课的课程编写课程。我在获得正确的输出方面遇到了问题。我以前编程了很多次,通常我会把我的方法声明全局化。然而,我们的教授告诉我们,不允许我们拥有全球职能。我们所有的函数都必须在Main循环中声明。下面是调用两个主要函数的循环。第一个运行计算。另一个显示输出到屏幕。问题是程序没有多次进行计算,而是多次输出相同的数字。任何帮助是极大的赞赏。
循环:
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";
}
答案 0 :(得分:1)
你的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);
}