如何将用户输入作为参数传递给函数原型?
How do I pass a user input as an argument into a function prototype?
#include <iostream>
#include <cmath>
using namespace std;
int nCount = 0, nX = 0;
double sum_total, nAverage;
// Function Prototypes
int Sum(int number); // Returns the sum of two ints
int Max(int i, int j); // Returns max of two ints
int Min(int i, int j); // Returns min of two ints
double Average(int nCount, int sum_total); // Returns the avg - (sum_total/count)
int main(){
cout << "How many numbers would you like to enter?" << endl;
cin >> nCount;
cout << "You would like to enter " << nCount << " numbers\n";
while (nX < nCount)
{
int a;
cout << "Please enter you numbers: "; // Pass this value into functions
cin >> a;
// Call Sum, Max, Min, and Average passing these two arguments
int Sum(a);
nX++;
}
cout << "The total is: " << sum_total << endl;
system("PAUSE");
return 0;
}
int Sum(int number)
{
sum_total = number + number;
return sum_total;
}
这是我正在处理的程序。我想要做的是让用户使用 cin 输入任意数量的整数,然后将该值传递给函数 int Sum 以将所有数字加在一起,然后显示它们的总和。 while 循环允许用户输入他们想要的数字数量,然后将该参数传递给下一个函数。然而,该程序将 return 0 作为总和。显示0的原因是什么?为了使这个程序运行,我需要做什么?
编辑
int Max(int number)
{
if (number > currentMax)
currentMax = number;
return currentMax;
}
//
int Min(int number)
{
if (currentMin < number)
currentMin = number;
return currentMin;
}
您的函数调用无效。你应该这样称呼它:
Sum(a);
此外,因为 sum_total 是一个全局变量,所以您不需要 return 来自 Sum 的值。
编辑
这里也是适当的 Sum() 定义:
void Sum(int number)
{
sum_total += number;
}
注意:不要忘记将sum_total初始化为0。
#include <iostream>
#include <cmath>
using namespace std;
int nCount = 0, nX = 0;
double sum_total, nAverage;
// Function Prototypes
int Sum(int number); // Returns the sum of two ints
int Max(int i, int j); // Returns max of two ints
int Min(int i, int j); // Returns min of two ints
double Average(int nCount, int sum_total); // Returns the avg - (sum_total/count)
int main(){
cout << "How many numbers would you like to enter?" << endl;
cin >> nCount;
cout << "You would like to enter " << nCount << " numbers\n";
while (nX < nCount)
{
int a;
cout << "Please enter you numbers: "; // Pass this value into functions
cin >> a;
// Call Sum, Max, Min, and Average passing these two arguments
int Sum(a);
nX++;
}
cout << "The total is: " << sum_total << endl;
system("PAUSE");
return 0;
}
int Sum(int number)
{
sum_total = number + number;
return sum_total;
}
这是我正在处理的程序。我想要做的是让用户使用 cin 输入任意数量的整数,然后将该值传递给函数 int Sum 以将所有数字加在一起,然后显示它们的总和。 while 循环允许用户输入他们想要的数字数量,然后将该参数传递给下一个函数。然而,该程序将 return 0 作为总和。显示0的原因是什么?为了使这个程序运行,我需要做什么?
编辑
int Max(int number)
{
if (number > currentMax)
currentMax = number;
return currentMax;
}
//
int Min(int number)
{
if (currentMin < number)
currentMin = number;
return currentMin;
}
您的函数调用无效。你应该这样称呼它:
Sum(a);
此外,因为 sum_total 是一个全局变量,所以您不需要 return 来自 Sum 的值。
编辑
这里也是适当的 Sum() 定义:
void Sum(int number)
{
sum_total += number;
}
注意:不要忘记将sum_total初始化为0。