Computer Science, asked by amartyakunta34, 2 months ago

Create a program that will store the salary of an employee and 15% increment to it.
please answer correctly and in step by step process..​

Answers

Answered by pranav20071011
0

Answer:

#include<stdio.h>

#include<pthread.h>

struct emp

{

  char name[10];

  int salary;

  int no;

}*t;

int nthread,n;

void *work(void *);

main()

{

  pthread_t id;

  struct emp e[5];

  int i;

   

  printf("Enter The No Of Thread");

  scanf("%d",&nthread);

   

  printf("Enter The No of Element");

  scanf("%d",&n);

  for(i=0;i<n;i++)

  {

      printf("Enter the Employee Name :  ");

      scanf("%s",&e[i].name);

      printf("Enter the Employee Salary : ");

      scanf("%d",&e[i].salary);

  }

   

  /*for(i=0;i<n;i++)

  {

      printf("%s",e[i].name);

      printf("%d\n",e[i].salary);

  }*/

for(i=0;i<nthread;i++)

  {

      e[0].no=i;

      if(0==pthread_create(&id,NULL,work,(void *)&e))

      {

              continue;

      }

      else

      {

          printf("Problem In Thread Creation");

      }

  }

  pthread_join(id,NULL);

  printf("\n\nAfter Updation\n");

  printf("E_Name\tE_salary\n");

  for(i=0;i<n;i++)

  {

      printf("%s\t",e[i].name);

      printf("%d\n",e[i].salary);

  }

   

}

void *work(void *e)

{

  int j,i;

  t=(struct emp *)e;

//    printf("%d",t[0].no);    for(j=t[0].no;j<n;j+=nthread)

  {

      t[j].salary=t[j].salary+(t[j].salary*0.15);

       

  }

  pthread_exit(NULL);

}

/* OUTPUT:

 ---------

Enter The No Of Thread2

Enter The No of Element6

Enter the Employee Name : rohit

Enter the Employee Salary : 5000

Enter the Employee Name : rakesh

Enter the Employee Salary : 6000

Enter the Employee Name : amit

Enter the Employee Salary : 8000

Enter the Employee Name : amir

Enter the Employee Salary : 9000

Enter the Employee Name : govinda

Enter the Employee Salary : 6000

Enter the Employee Name : ram

Enter the Employee Salary : 80000

After Updation

E_Name  E_salary

rohit   5749

rakesh  6899

amit    9199

amir    10349

govinda 6899

ram     91999

*/

Explanation:

Similar questions