Вызов функций из основного метода - PullRequest
0 голосов
/ 04 ноября 2011

Я пишу программу для своего класса. У меня проблемы с получением правильного вывода. Я программировал много раз раньше, и обычно я делал объявления методов глобальными. Однако наш профессор сказал нам, что нам не разрешено иметь глобальные функции. Все наши функции должны быть объявлены в цикле 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";

}

1 Ответ

1 голос
/ 04 ноября 2011

ваш 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...