尝试完成编码提示 输入一个正数列表,找到这些数的平均值(平均值),然后输出结果。使用子程序输入数字,使用函数查找均值,并使用子程序输出结果。
我用传递的参数进行了较小的调用,但这需要3个单独的子程序,其中1个用于输入,1个用于计算,而一个用于显示结果。 到目前为止,我的程序是不启动输入的初始调用
ConnectionProvider
显示我的欢迎消息,然后退出
答案 0 :(得分:0)
我已经在您的代码中添加了一些注释作为解释。
#include <iostream>
using namespace std;
//prototypes // These are declarations, definitions should also contain
// same function signatures
int prompt(int& sum, int& count); // accept arguments as reference (Read about it)
float average(int& sum, int& count);
void result(float& avg);
int main()
{
// int num; // don't need num in this function, not used
int sum = 0, count = 0; // create variables sum and count and initialize them to 0
float avg;
cout << "Welcome to Keith's Averaging program";
cout << endl;
prompt(sum, count); // don't need function return type and argument return type when calling
// a function
cout << sum << " " << count << endl; // print the values after prompt() call
// prompt() call must have filled the values sum and count
average(sum, count);
result(avg);
return 0;
}
//Prototype Definitions
//get numbers from users
int prompt(int& sum, int& count)
{
int num;
cout << "Enter numbers and I will Average them." << endl;
cout << "Please enter a number: ";
cin >> num;
sum = sum + num;
if(num == 0)
{
cout << "Guess you don't want an average";
cout << endl;
cout << "Goodbye";
}
for(count=0; num !=0; count++)
{
cout << "Please enter a positive number, enter zero to compute the avg: ";
cin >> num;
if(num < 0)
{
cout << "Enter a positive number:";
cin >> num;
}
sum = sum + num;
}
}
float average(int& sum, int& count){
// TODO: implement this
}
void result(float& avg) {
// TODO: implement this
}
我更改了代码的各个部分。我更改了函数原型,以便它们通过引用接受参数。
在int main()
函数中,我创建了两个变量sum
和count
并将它们初始化为0
-我们将在调用这些函数时使用这些变量。
在int prompt()
函数中,我更改了函数签名,使其与声明的定义匹配(否则它将是其他函数)。另外,由于我们现在将它们用作函数参数,因此我删除了本地声明sum
和count
。
我还为其他两个功能放了定义块,您可以实现它们(我将它们标记为// TODO
)。