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);
}