Respuesta :
Answer:
Check the explanation
Explanation:
#include <stdio.h>
void PrintDeptPayrollrecords(char* dept_name);
struct payroll {
unsigned long long int internal_id;
char first_name[50];
char last_name[50];
char departmnet [100];
unsigned char dob_day;
unsigned char dob_month;
unsigned short dob_year;
double monthly_salaray;
};
#define MAX_PAY_RECS_NO 10000
struct payroll pay_recs[MAX_PAY_RECS_NO];
size_t pay_recs_no;
int main()
{
int i;
pay_recs_no = 10;
pay_recs[0]. internal_id = 111;
strcpy(pay_recs[0]. first_name, "aaaaaaa");
strcpy(pay_recs[0]. last_name, "AAAAAAA");
strcpy(pay_recs[0]. departmnet, "banking");
pay_recs[0]. dob_day = 1;
pay_recs[0]. dob_month = 1;
pay_recs[0]. dob_year = 2001;
pay_recs[0]. monthly_salaray = 1000;
pay_recs[1]. internal_id = 222;
strcpy(pay_recs[1]. first_name, "bbbbbbb");
strcpy(pay_recs[1]. last_name, "BBBBBBB");
strcpy(pay_recs[1]. departmnet, "marketing");
pay_recs[1]. dob_day = 2;
pay_recs[1]. dob_month = 2;
pay_recs[1]. dob_year = 2002;
pay_recs[1]. monthly_salaray = 2000;
pay_recs[2]. internal_id = 333;
strcpy(pay_recs[2]. first_name, "ccccccc");
strcpy(pay_recs[2]. last_name, "CCCCCCC");
strcpy(pay_recs[2]. departmnet, "banking");
pay_recs[2]. dob_day = 3;
pay_recs[2]. dob_month = 3;
pay_recs[2]. dob_year = 2003;
pay_recs[2]. monthly_salaray = 3000;
pay_recs[3]. internal_id = 444;
strcpy(pay_recs[3]. first_name, "ddddddd");
strcpy(pay_recs[3]. last_name, "DDDDDDD");
strcpy(pay_recs[3]. departmnet, "operations");
pay_recs[3]. dob_day = 4;
pay_recs[3]. dob_month = 4;
pay_recs[3]. dob_year = 2004;
pay_recs[3]. monthly_salaray = 4000;
pay_recs[4]. internal_id = 555;
strcpy(pay_recs[4]. first_name, "eeeeeee");
strcpy(pay_recs[4]. last_name, "EEEEEEE");
strcpy(pay_recs[4]. departmnet, "marketing");
pay_recs[4]. dob_day = 5;
pay_recs[4]. dob_month = 5;
pay_recs[4]. dob_year = 2005;
pay_recs[4]. monthly_salaray = 5000;
pay_recs[5]. internal_id = 666;
strcpy(pay_recs[5]. first_name, "ffffffff");
strcpy(pay_recs[5]. last_name, "FFFFFFF");
strcpy(pay_recs[5]. departmnet, "banking");
pay_recs[5]. dob_day = 6;
pay_recs[5]. dob_month = 6;
pay_recs[5]. dob_year = 2006;
pay_recs[5]. monthly_salaray = 6000;
pay_recs[6]. internal_id = 777;
strcpy(pay_recs[6]. first_name, "ggggggg");
strcpy(pay_recs[6]. last_name, "GGGGGGGG");
strcpy(pay_recs[6]. departmnet, "operations");
pay_recs[6]. dob_day = 7;
pay_recs[6]. dob_month = 7;
pay_recs[6]. dob_year = 2007;
pay_recs[6]. monthly_salaray = 7000;
pay_recs[7]. internal_id = 888;
strcpy(pay_recs[7]. first_name, "hhhhhhh");
strcpy(pay_recs[7]. last_name, "HHHHHHHH");
strcpy(pay_recs[7]. departmnet, "marketing");
pay_recs[7]. dob_day = 8;
pay_recs[7]. dob_month = 8;
pay_recs[7]. dob_year = 2008;
pay_recs[7]. monthly_salaray = 8000;
pay_recs[8]. internal_id = 999;
strcpy(pay_recs[8]. first_name, "iiiiiii");
strcpy(pay_recs[8]. last_name, "IIIIIII");
strcpy(pay_recs[8]. departmnet, "operations");
pay_recs[8]. dob_day = 9;
pay_recs[8]. dob_month = 9;
pay_recs[8]. dob_year = 2009;
pay_recs[8]. monthly_salaray = 9000;
pay_recs[9]. internal_id = 1111;
strcpy(pay_recs[9]. first_name, "jjjjjjjj");
strcpy(pay_recs[9]. last_name, "JJJJJJJ");
strcpy(pay_recs[9]. departmnet, "banking");
pay_recs[9]. dob_day = 10;
pay_recs[9]. dob_month = 10;
pay_recs[9]. dob_year = 2010;
pay_recs[9]. monthly_salaray = 10000;
PrintDeptPayrollrecords("marketing");
return 0;
}
void PrintDeptPayrollrecords(char* dept_name) {
int count=0, flag=0, i;
double totalSalaray=0;
for ( i = 0; i <pay_recs_no ; i++ )
{
if(strcmp(dept_name, pay_recs[i]. departmnet)==0) {
flag=1;
break;
}
}
if (flag==1) {
printf("Employees of the %s Department:\n",dept_name);
printf("Last Name \t First Name \t Date of Birth \t Monthly Salary \n");
printf("---------------------------------------------------------- \n");
for ( i = 0; i <pay_recs_no ; i++ )
{
{
if(strcmp(dept_name, pay_recs[i]. departmnet)==0) {
printf("%s \t",pay_recs[i]. last_name);
printf("%s \t",pay_recs[i]. first_name);
printf("%d-%d-%d \t",pay_recs[i].dob_year,pay_recs[i]. dob_month,pay_recs[i]. dob_day);
printf("%.2f \n",pay_recs[i]. monthly_salaray);
count++;
totalSalaray+=pay_recs[i]. monthly_salaray;
}
}
printf("Total Number of Employees in the Department: %d \n",count);
printf("Aggregated Salary of the Department: %.2f",totalSalaray);
} else {
printf("Department %s has no payroll records",dept_name);
}
}
