C++ 从Main方法调用函数

C++ 从Main方法调用函数,c++,function,methods,C++,Function,Methods,我正在为我正在上的一门课写一个程序。我在获得正确的输出时遇到问题。我以前编写过很多次程序,通常我会使我的方法声明全局化。然而,我们的教授告诉我们,不允许我们拥有全球功能。所有函数都必须在主循环中声明。下面是调用两个主要函数的循环。第一个运行一个计算。另一个在屏幕上显示输出。问题是程序没有多次进行计算,而是多次输出相同的数字。非常感谢您的帮助 循环: for ( YearNumber = 1; YearNumber <= Years; YearNumber++) {

我正在为我正在上的一门课写一个程序。我在获得正确的输出时遇到问题。我以前编写过很多次程序,通常我会使我的方法声明全局化。然而,我们的教授告诉我们,不允许我们拥有全球功能。所有函数都必须在主循环中声明。下面是调用两个主要函数的循环。第一个运行一个计算。另一个在屏幕上显示输出。问题是程序没有多次进行计算,而是多次输出相同的数字。非常感谢您的帮助

循环:

 for ( YearNumber = 1; YearNumber <= Years; YearNumber++)   
       {

        /*--------------------------------------------------*/
        /*                                                  */
        /* Call ComputeFutureValue Function                 */
        /*                                                  */  
        /*--------------------------------------------------*/

        ComputeFutureValue (Principle, OnePlusInterestRate, YearNumber);

        /*--------------------------------------------------*/
        /*                                                  */
        /* Call DisplayYearInfo Function                    */
        /*                                                  */
        /*--------------------------------------------------*/

        DisplayYearInfo (YearNumber, FutureValue);  

       }
显示方法:

 void DisplayYearInfo (int YearNumber, float FutureValue)

{

cout << setw (2)
     << YearNumber
     << setw (22)
     << FutureValue
     << "\n";

}
void DisplayYearInfo(整数、浮点未来值)
{

cout您的
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);
}

然而,我们的教授告诉我们,我们不允许拥有全局函数。我们所有的函数都必须在主循环中声明这没有意义。你没有在
main
中声明函数。他如何定义
global
函数?我希望你没有像现在这样计划对每个调用的函数进行注释?“我们所有的函数都必须在主循环中声明”我想给这位教授发一封电子邮件。@DanielRHicks:更令人费解的是,(where)允许你声明
main()
?但至于你的问题,你调用的函数不返回任何内容,也无法存储结果。显然,每次调用它们时都会产生相同的值。(我想你用的是“函数”这个词,而你指的是“变量”。)谢谢,我感谢所有的帮助。我想告诉你我对我们教授的感觉,但可能有孩子在观看。
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);
}