【发布时间】:2020-07-05 22:01:01
【问题描述】:
我编写了一个程序来计算 7 名员工的总工资。该程序从文件 (payroll.dat) 中读取数据,以获取数据成员“小时”和“工资率”的数据。所有 7 位员工的输出为 0.00,数据文件 >> 小时;数据文件>>工资率;似乎是正确的。我不知道为什么程序没有从文件中读取数据并将数据输入到成员中。
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
class Payroll
{
private:
double hours;
double payrate;
double grosspay;
public:
Payroll()
{
hours = 0.0;
payrate = 0.0;
grosspay = 0.0;
}
Payroll(double h, double p)
{
hours = h;
payrate = p;
grosspay = hours * payrate;
}
double setHours(double h)
{
hours = h;
}
double setPayrate(double p)
{
payrate = p;
}
double getHours()
{
return hours;
}
double getPayrate()
{
return payrate;
}
double getGrosspay()
{
return grosspay;
}
};
const int employees = 7;
int main()
{
double hours;
double payrate;
double grosspay;
int index;
Payroll totalPay[employees];
{
ifstream datafile;
datafile.open("payroll.dat");
if (!datafile)
cout << "Error opening data file \n";
else
{
for (index = 0; index < 7; index++)
{
datafile >> hours;
datafile >> payrate;
grosspay = hours * payrate;
cout << endl;
cout << fixed << setprecision(2);
cout << "Employee" << (index + 1) << ": " << totalPay[employees].getGrosspay() << endl;
}
}
datafile.close();
}
return 0;
}
【问题讨论】:
标签: c++ visual-c++ c++17