#include<stdlib.h>
typedef struct tagsalesperson
{
char name[20];
float task,sales,bonus;
}salesperson;
int main()
{
int n,i,j,min;
double wch;
salesperson t,*ptsales;
printf("請輸入銷售員人數:");
scanf("%d",&n);
ptsales=(salesperson*)calloc(n,sizeof(salesperson));
for(i=0;i<n;i++)
{
printf("請輸入第%d個銷售人員的姓名:",i+1);
scanf("%s",ptsales[i].name);
printf("請輸入第%d個銷售人員的任務量,完成量:",i+1);
scanf("%f %f",&ptsales[i].task,&ptsales[i].sales);
wch=ptsales[i].sales/ptsales[i].task;
ptsales[i].bonus=0;
if(wch>0.4 && wch<=0.8)
{
ptsales[i].bonus+=(wch-0.4)*0.008*ptsales[i].task;
}
else if(wch>0.8)
{
ptsales[i].bonus+=(wch-0.8)*0.01*ptsales[i].task+0.4*0.008*ptsales[i].task;
}
}
for(i=0;i<n-1;i++)
{
min=i;
for(j=i+1;j<n;j++)
{
if(ptsales[j].bonus<ptsales[min].bonus)
{
min=j;
}
}
t=ptsales[i];
ptsales[i]=ptsales[min];
ptsales[min]=t;
}
puts("按效益工資升序排序後,各銷售員的信息如下:");
printf("%-12s%-18s%-18s%-22s\n","name","task","sales","bonus(萬元)");
for(i=0;i<n;i++)
{
printf("%-12s%-18f%-18f%-22f\n",ptsales[i].name,ptsales[i].task,ptsales[i].sales,ptsales[i].bonus);
}
system("PAUSE");
return EXIT_SUCCESS;
}