void sort()
{
int i,j;
int t;
for(j=0;j<N-1;j++)
for(i=1;i<N-j;i++)
if(emp[i].sfgz>emp[i+1].sfgz)
{t=emp[i].sfgz;emp[i].sfgz=emp[i+1].sfgz;emp[i+1].sfgz=t;}
fp=fopen("employeesalary.txt","w");
if(fp==NULL)
{
printf("文件打开错误!");
return;
}
for(i=1;i<=N;i++)
{
printf("%10s%10s%10.1f%10.1f%10.1f%10.1f%10.1f\n",emp[i].no,emp[i].name,emp[i].jbgz,emp[i].koukuan,emp
[i].yfgz,emp[i].shuijin,emp[i].sfgz);
fprintf(fp,"%8s%8s%9.1f%9.1f%10.1f%9.1f%9.1f\n",emp[i].no,emp[i].name,emp[i].jbgz,emp[i].koukuan,emp[i].yfgz,emp
[i].shuijin,emp[i].sfgz);
}
fclose(fp);
printf("按任意键程序继续执行\n");
getchar();
}
void statistic()
{
int i,cou[5]={0},maxi,mini;
float max,min,ave=0;
char ch;
max=emp[1].sfgz;
min=emp[1].sfgz;
for(i=2;i<=N;i++)
{
ave=ave+emp[i].sfgz;
if(max<emp[i].sfgz) { max=emp[i].sfgz; maxi=i;}
if(min>emp[i].sfgz) { min=emp[i].sfgz; mini=i;}
if(emp[i].yfgz<2000)
cou[0]++;
else if(emp[i].yfgz>=2000&&emp[i].yfgz<5000)
cou[1]++;
else if(emp[i].yfgz>=5000&&emp[i].yfgz<10000)
cou[2]++;
else if(emp[i].yfgz>=10000&&emp[i].yfgz<50000)
cou[3]++;
else
cou[4]++;
}
printf("A=最高获得奖励,B=最低获得奖励,C=平均工资,D=获得奖励分段统计\n");
scanf("%c",ch);
switch(ch)
{
case 'A': printf("员工%s的工资最高,获得奖励是:%10.2f\n",emp[maxi].name,max);break;
case 'B': printf("员工%s的工资最低,获得奖励是:%10.2f\n",emp[mini].name,min);break;
case 'C': printf("员工的平均工资是:%10.2f\n",ave/N);break;
case 'D': printf("获得奖励为2000元以下的人数是:%d,所占的百分比为%.2f%%\n",cou[0],cou[0]*100.0/N);
printf("获得奖励为2000-5000元的人数是:%d,所占的百分比为%.2f%%\n",cou[1],cou[1]*100.0/N);
printf("获得奖励为5000-10000元的人数是:%d,所占的百分比为%.2f%%\n",cou[2],cou[2]*100.0/N);
printf("获得奖励为10000-50000元的人数是:%d,所占的百分比为%.2f%%\n",cou[3],cou[3]*100.0/N);
printf("获得奖励为50000元以上的人数是:%d,所占的百分比为%.2f%%\n",cou[4],cou[4]*100.0/N);break;
default: printf("输入错误\n");
}
printf("按任意键程序继续执行\n");
getchar();}
怎么都运行不了啊!!求帮助!!
{
int i,j;
int t;
for(j=0;j<N-1;j++)
for(i=1;i<N-j;i++)
if(emp[i].sfgz>emp[i+1].sfgz)
{t=emp[i].sfgz;emp[i].sfgz=emp[i+1].sfgz;emp[i+1].sfgz=t;}
fp=fopen("employeesalary.txt","w");
if(fp==NULL)
{
printf("文件打开错误!");
return;
}
for(i=1;i<=N;i++)
{
printf("%10s%10s%10.1f%10.1f%10.1f%10.1f%10.1f\n",emp[i].no,emp[i].name,emp[i].jbgz,emp[i].koukuan,emp
[i].yfgz,emp[i].shuijin,emp[i].sfgz);
fprintf(fp,"%8s%8s%9.1f%9.1f%10.1f%9.1f%9.1f\n",emp[i].no,emp[i].name,emp[i].jbgz,emp[i].koukuan,emp[i].yfgz,emp
[i].shuijin,emp[i].sfgz);
}
fclose(fp);
printf("按任意键程序继续执行\n");
getchar();
}
void statistic()
{
int i,cou[5]={0},maxi,mini;
float max,min,ave=0;
char ch;
max=emp[1].sfgz;
min=emp[1].sfgz;
for(i=2;i<=N;i++)
{
ave=ave+emp[i].sfgz;
if(max<emp[i].sfgz) { max=emp[i].sfgz; maxi=i;}
if(min>emp[i].sfgz) { min=emp[i].sfgz; mini=i;}
if(emp[i].yfgz<2000)
cou[0]++;
else if(emp[i].yfgz>=2000&&emp[i].yfgz<5000)
cou[1]++;
else if(emp[i].yfgz>=5000&&emp[i].yfgz<10000)
cou[2]++;
else if(emp[i].yfgz>=10000&&emp[i].yfgz<50000)
cou[3]++;
else
cou[4]++;
}
printf("A=最高获得奖励,B=最低获得奖励,C=平均工资,D=获得奖励分段统计\n");
scanf("%c",ch);
switch(ch)
{
case 'A': printf("员工%s的工资最高,获得奖励是:%10.2f\n",emp[maxi].name,max);break;
case 'B': printf("员工%s的工资最低,获得奖励是:%10.2f\n",emp[mini].name,min);break;
case 'C': printf("员工的平均工资是:%10.2f\n",ave/N);break;
case 'D': printf("获得奖励为2000元以下的人数是:%d,所占的百分比为%.2f%%\n",cou[0],cou[0]*100.0/N);
printf("获得奖励为2000-5000元的人数是:%d,所占的百分比为%.2f%%\n",cou[1],cou[1]*100.0/N);
printf("获得奖励为5000-10000元的人数是:%d,所占的百分比为%.2f%%\n",cou[2],cou[2]*100.0/N);
printf("获得奖励为10000-50000元的人数是:%d,所占的百分比为%.2f%%\n",cou[3],cou[3]*100.0/N);
printf("获得奖励为50000元以上的人数是:%d,所占的百分比为%.2f%%\n",cou[4],cou[4]*100.0/N);break;
default: printf("输入错误\n");
}
printf("按任意键程序继续执行\n");
getchar();}
怎么都运行不了啊!!求帮助!!
