我有一个程序,它从文本文件中读取员工信息并将其存储到结构中。我还有一个枚举,其中F
代表全职员工,P
代表兼职员工。如果该员工是全职员工,我将从其工资中扣除5美元作为工会会费。文本文件如下:
这是我的结构和枚举:
enum EmpType{
F, P
};
struct EmpData{
char* name;
float payrate;
float hours;
EmpType employee_type;
double pay;
char deductions[];
};
如果从雇员的工资中扣除了$ 5,我需要打印出“已扣除的工会会费”。我假设我需要某种if
语句,以在扣除会费时将其打印出来,并且在未扣除费用时不执行任何操作。这就是我到目前为止所拥有的。我尝试将推导分配给指针并更改类型,但是我只是无法将注意力集中在做什么上。当我尝试将“扣除的工会会费”分配给员工的扣除额时,它说“表达必须是可更改的值”。
employee[entries]->pay = employee[entries]->payrate * employee[entries]->hours; // calculating pay
if (employee[entries]->employee_type == F)
{
employee[entries]->pay = employee[entries]->pay - 5;
}
if (employee[entries]->pay == employee[entries]->pay - 5)
{
employee[entries]->deductions = // code goes here?
}
strcpy (employee[entries]->deductions, "Union dues detected");