0

所以我必须做三个函数。一个询问公司有多少员工。另一个询问他们错过了多少天。第三个通过将员工数量除以失踪天数来计算平均值。主要,我所要做的就是有 cout 提示并调用函数。我不确定我是否做对了,但是当它必须计算平均值时它会崩溃。

#include <iostream>
#include <iomanip>
using namespace std;

int employee(int employeeNum);
int missingDays(int daysMissing);
double getAvg(int employeeNum,int daysMissing,double average);

int employee(int employeeNum)
{
  cout<<"Enter the number of employee in the company.";
  cin>>employeeNum;
  return employeeNum;
}

int missingDays(int daysMissing)
{
  cout<<"Enter the amount of days employees missed during the past year.";
  cin>>daysMissing;
  return daysMissing;
}

double getAvg(int employeeNum,int daysMissing,double average)
{
  average=employeeNum/daysMissing;
  return average;
}

int main()
{
  int employeeNum,people,missing,daysMissing;
  double avg,average;

  people=employee(employeeNum);
  cout<<"The number of employees in the company is "<<people<<"."<<endl;

  missing=missingDays(daysMissing);
  cout<<"The number of days employees missed during the past year is "<<missing<<".";

  avg=getAvg(employeeNum,daysMissing,average);
  cout<<average;
}

让我知道我要做什么,并感谢您的帮助。

4

4 回答 4

2

这看起来像家庭作业,所以你应该只期待轻推。所以,一些轻推:为什么你的函数employee()missingDays()参数?为什么getAvg()需要3?您的输入值最终会出现在哪些变量中?接下来它们在哪里使用(如果有的话)?

于 2013-10-21T15:43:50.597 回答
1

你的问题是这条线

missing=missingDays(daysMissing);

出于某种原因,您有两个“daysMissing”变量(我不确定您为什么首先将它传递给您的missingDays 函数)

在该行之后,missing将包含值输入,而不是daysMissing(因为它不是通过引用传递)

您的 getAvg 函数可能会因除以零错误而崩溃。

于 2013-10-21T15:39:14.307 回答
0

因此,取决于编译器, 的值daysMissing要么是未定义的,要么是用 初始化的0

在你的功能中getAvg,你划分employeeNum/daysMissing;

但是你不能被零除,就是这样:)

于 2013-10-21T15:43:33.770 回答
0
#include <iostream>
#include <iomanip>
using namespace std;

int employee(int employeeNum);
int missingDays(int daysMissing);
double getAvg(int employeeNum,int daysMissing,double average);

int employee(int employeeNum)
{
  cout<<"Enter the number of employee in the company: ";
  cin>>employeeNum;
  return employeeNum;
}

int missingDays(int daysMissing)
{
  cout<<"Enter the amount of days employees missed during the past year: ";
  cin>>daysMissing;
  return daysMissing;
}

double getAvg(int employeeNum,int daysMissing)
{
    if(daysMissing == 0)
    {
        return 0;
    }
  return (double)employeeNum/daysMissing;;
}

int main()
{
  int employeeNum,people,missing,daysMissing;
  double avg,average;

  people=employee(employeeNum);
  cout<<"The number of employees in the company is: "<<people<<"\n";

  missing=missingDays(daysMissing);
  cout<<"The number of days employees missed during the past year is: "<<missing<<"\n";

  avg=getAvg(people,missing);
  cout<<avg;
}
于 2013-10-21T17:12:12.180 回答