行而知之 2015-07-14 02:13 采纳率: 0%
浏览 2452

c++对象数组 构造函数

题目是一个打印工资单(payrate*hours),数组里有七个对象,需要每个对象的输入时间(hour)乘payRate,最后返回到payTotal里,可是不知道怎么把键盘输入的存入对象数组里,而且总是报错,而且后面函数里的变量好像也有点问题,没用到数组,不知道怎么改啊,急求解答!!!!!非常感谢!!

这是main函数的cpp

 #include <iostream>
#include <iomanip>
#include "Payroll.h"

using namespace std;

int main()
{
    const int NUM_EMP = 7;
    double value;
    int num;
    Payroll employee[NUM_EMP];

    cout << "Enter the payRate for the employee: ";
    cin >> num;
    for(int i=0;i<NUM_EMP;i++)
    {

        cout << "Employee" 
             << i+1 << " : " 
             << "Enter the numbers of hours: ";
        cin >> employee[i]; 

    }

    Payroll item();
    cout << setprecision(2) << fixed;

    for(int k=0;k<NUM_EMP;k++)
    {
        cout << "The amount of gross pay for employee" 
             << k+1 << ": "
             << employee[k].getTotalPay << endl;
    }


    return 0;
}

下面是Payroll.cpp

 #include "Payroll.h"   // Needed for the Rectangle class
#include <iostream>      // Needed for cout
#include <cstdlib>       // Needed for the exit function
using namespace std;

Payroll::Payroll()
{
   hours = 0.0;
   payRate = 0.0;

}

void Payroll::setHours(double hou)
{
  if(hou <= 60.00)
      hours = hou;
  else
  {
      cout << "Please Enter the valid numbers: ";
      exit(EXIT_FAILURE);
  }
}

void Payroll::setPayRate(double pay)
{

    payRate = pay;
}

最后是payroll.h

 #ifndef PAYROLL_H
#define PAYROLL_H

class Payroll
{

private:
    double hours;
    double payRate;
public:
    Payroll();
    void setHours(double);
    void setPayRate(double);

    double getHours() const
    {

        return hours;
    }

    double getPayRate() const
    {

        return payRate;
    }

    double getTotalPay() const
    {

        return hours * payRate;
    }
};

#endif
  • 写回答

3条回答

  • yin3353623 2015-07-14 03:05
    关注

    for(int i=0;i<NUM_EMP;i++)
    {

        cout << "Employee" 
             << i+1 << " : " 
             << "Enter the numbers of hours: ";
    
        cin >> employee[i]; 
    
    }
        改成:
         for(int i=0;i<NUM_EMP;i++)
    {
       double _hours;
        cout << "Employee" 
             << i+1 << " : " 
             << "Enter the numbers of hours: ";
        cin >> _hours;
                employee[i].setHours(_hours); 
    
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 ROS Turtlebot3 多机协同自主探索环境时遇到的多机任务分配问题,explore节点
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题