#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循环允许用户输入他们想要的多少个数字,然后将该参数传递给下一个函数。然而,该程序将返回0作为总和。 0被显示的原因是什么?为了使这个程序有效,我需要做些什么?
修改
int Max(int number)
{
if (number > currentMax)
currentMax = number;
return currentMax;
}
//
int Min(int number)
{
if (currentMin < number)
currentMin = number;
return currentMin;
}
答案 0 :(得分:0)
您的函数调用无效。你应该这样称呼它:
Sum(a);
另外,因为sum_total是一个全局变量,所以你不需要从Sum返回一个值。
修改强>
以下是适当的Sum()定义:
void Sum(int number)
{
sum_total += number;
}
注意:不要忘记将sum_total初始化为0。