子程序介绍

时间:2019-07-12 04:20:16

标签: c++

尝试完成编码提示 输入一个正数列表,找到这些数的平均值(平均值),然后输出结果。使用子程序输入数字,使用函数查找均值,并使用子程序输出结果。

我用传递的参数进行了较小的调用,但这需要3个单独的子程序,其中1个用于输入,1个用于计算,而一个用于显示结果。 到目前为止,我的程序是不启动输入的初始调用

ConnectionProvider

显示我的欢迎消息,然后退出

1 个答案:

答案 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()函数中,我创建了两个变量sumcount并将它们初始化为0-我们将在调用这些函数时使用这些变量。

  • int prompt()函数中,我更改了函数签名,使其与声明的定义匹配(否则它将是其他函数)。另外,由于我们现在将它们用作函数参数,因此我删除了本地声明sumcount

  • 我还为其他两个功能放了定义块,您可以实现它们(我将它们标记为// TODO)。