c语言编程问题:设计一个公司职员的数据结构,并使用结构指针数组存储志愿信息,统计公司员工工资总额。。

2025-05-13 16:49:49
推荐回答(1个)
回答(1):

/*
please input the total number of employees : 3
please input 1/3 massage:name age salary
胥立畅 32 6890.50
please input 2/3 massage:name age salary
王莹莹 24 3698.85
please input 3/3 massage:name age salary
李大海 28 4896.80
胥立畅 32 6890.00
王莹莹 24 3698.00
李大海 28 4896.00

Press any key to continue
*/
#include
#include
#include

typedef struct employee {
int age;
char *name;
double salary;
}PEMP;

void update(PEMP a[],int id,int age,char *name,double salary) {
a[id].age = age;
a[id].salary = salary;
a[id].name = (char *)malloc(strlen(name)*sizeof(char) + 1);
strcpy(a[id].name,name);
}

void reading(PEMP a[],int n) {
int i,age;
double salary;
char name[30];
for(i = 0;i < n;++i) {
printf("please input %d/%d massage:name age salary\n",i + 1,n);
scanf("%s %d %lf",name,&age,&salary);
update(a,i,age,name,salary);
}
}

double Addup(PEMP *a,int n) {
int i;
double sum = 0.0;
for(i = 0; i < n; ++i)
sum += a[i].salary;
return sum;
}

void Show(PEMP a[],int n) {
int i;
for(i = 0; i < n; ++i)
printf("%s %d %.2lf\n",a[i].name,a[i].age,a[i].salary);
printf("\n");
}

int main() {
int n;
double sum;
PEMP company[30];
printf("please input the total number of employees : ");
scanf("%d",&n);
reading(company,n);
Show(company,n);
sum = Addup(company,n);
printf("工资总额:%.2lf,平均工资 : %.2lf\n",sum,sum/n);
return 0;
}