C++ 2个函数的平均值

C++ 2个函数的平均值,c++,function,average,C++,Function,Average,当我运行这段代码时,我似乎一直在偏离平均值,我想知道是否有人有任何建议。有一个例子是,只做了5名员工,他们都错过了5天,平均值一直保持在15,我算错了吗?再次感谢你的帮助。我发布了完整的代码,以防它不是我试图使它尽可能整洁的功能,所以很抱歉,如果它有点凌乱,已经编程不到一个月了 #include<iostream> using namespace std; function prototypes //return type: void //parameter type: 1 in

当我运行这段代码时,我似乎一直在偏离平均值,我想知道是否有人有任何建议。有一个例子是,只做了5名员工,他们都错过了5天,平均值一直保持在15,我算错了吗?再次感谢你的帮助。我发布了完整的代码,以防它不是我试图使它尽可能整洁的功能,所以很抱歉,如果它有点凌乱,已经编程不到一个月了

#include<iostream>
using namespace std;

function prototypes

//return type: void
//parameter type: 1 int by refrence
//purpose: This function asks the user for the number of employees in the company.
void GetNumEmployees(int&);

//return type: int
//parameter type: 1 int
//Purpose: The function should as the user to enter the number of days each employee missed during the past year
int TotalDaysMissed(int);

//return type: float
//parameters: 2 int
//Purpose: Returns the average of total number of days missed for all employees in the company during the year
float AverageDaysMissed(int, int);

int main()
{
    //Declare and Initilize Variables
    int empnum = 0, daysmissed = 0 ;
    float averagedays = 0.0 ;
    GetNumEmployees(empnum) ;
    daysmissed = TotalDaysMissed(empnum)    ;
    averagedays = AverageDaysMissed(empnum, daysmissed) ;
    cout<<"The Average Work Days your Employees Missed is "<<averagedays<<endl ;
    return 0;
}
//function definitions
void GetNumEmployees(int &emp)
{
    do
    {
        cout<<"Enter the number of Employees in the company: ";
        cin>>emp ;
        if(emp < 1)
            cout<<"Invalid. Cannot be Less than 1\n\n";
    }
    while (emp < 1) ;
}

int TotalDaysMissed(int empn)
{
    int daysmissed = 0 ;
    int total = 0 ;
    for(int n = empn; n > 0  ; n--)
    {
        do
        {
            cout<<"How Many days did Employee "<<n<< " miss? " ;
            cin>>daysmissed ;
            total += daysmissed;
            if(daysmissed < 0)
                cout<<"Invalid days must be a Positive Number\n\n";
        }
        while(daysmissed < 0) ;
    }
    return total;
}

float AverageDaysMissed(int empn, int daystotal)
{
    float average = 0.0     ;
    average = (empn + daystotal) / 2.0 ;
    return average;
}
#包括
使用名称空间std;
功能原型
//返回类型:void
//参数类型:1 int by reference
//用途:此功能要求用户输入公司的员工人数。
void getnumemememployees(int&);
//返回类型:int
//参数类型:1 int
//用途:该功能应作为用户输入每个员工在过去一年中错过的天数
int TotalDaysMissed(int);
//返回类型:浮动
//参数:2 int
//目的:返回一年中公司所有员工缺勤总天数的平均值
浮点平均日数(int,int);
int main()
{
//声明并初始化变量
int empnum=0,daysmissed=0;
浮动平均天数=0.0;
GetNumEmployees(empnum);
daysmissed=总daysmissed(empnum);
averagedays=AverageDaysMissed(empnum,daysmissed);

难道你计算平均值不正确吗

您有5名员工,他们每人都缺席了5天

(5+5+5+5+5)/5=5

你的平均成绩是5

所以,如果你有5名员工在这个序列中错过了几天:4,3,2,4,5。 那么你的平均值=(4+3+2+4+5)/5=3.6

平均值是所有观察值的总和除以观察值的数量。

平均值=(empn+daystotal)/2.0
-这不是平均值的计算方式