手头的问题:
工人需要计算他的每周工资,这可以从以下方式获得:
制作一个收集数据并显示5个工人的程序,显示每个工人的工资。
定义数据收集功能和计算工资的函数。
我的方法直到时间
#include <stdio.h>
#include <stdlib.h>
#define EMP 5
int i;
int j;
struct work
{
char name[20];
int hours[5];
float salary[8];
} t[EMP];
int main(void)
{
for(i=0;i<EMP;i++) //Bucle para recolectar los datos
{
printf("\nThe name of the employeer : ");
scanf("%s",t[i].name);
printf("\nHow many hours he works : ");
scanf("%d",t[i].hours);
// printf("\nThe man works %d",yoh_work[i].horas);
}
if(t[i].hours<40)
{
t[i].salary=t[i].hours*16; //(yeah im know this doesn't work
}
}
在此之后,我没有想法。请分享想法。
答案 0 :(得分:0)
这里的要点是,您不需要在{<1}}和hours
内部结构中使用数组。你只需要一个变量。之后,您需要一组结构变量,就像您所做的那样。
所以,你的结构看起来应该是
salary
之后,您必须使用循环来请求用户输入来填充每个员工的字段(由struct work
{
char name[20];
int hours; //notice here
float salary; //notice here
} t[EMP];
数组的每个变量引用)并相应地进行计算。
算法确实实现了这一点,如下所示,
t
中,t[i].name
是索引。i
t[i].hours
次)检查5
是否为t[i].hours
。
4.1。如果是,则计算如(简化,在进行实际计算时应考虑 tax 相关部分)
> 40
4.2。如果否,则计算如
t[i].salary = ((float)40 * 16) + ((float)(t[i].hours - 40) * 20)
为所有结构执行此操作。
希望你明白了。请尝试实施,如果遇到问题,请回来,我们会在那里提供帮助。 : - )