level 8
{
FILE *fp;
char fname[10];
int i,k,j,t,bianhao[R]=,z;
system("cls");
printf("你要哪个月的?\n");
printf("请输入月份:"); /*输入文件名,这样可以进行各个月份信息读入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"rb"))==NULL) /*打开文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i<R;i++) /*读出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("读入信息出错!"); /*读入信息提示*/
for(i=0;i<R;) /*用于存储职工编号*/
bianhao[i]=i++;
printf("请输入按何种产品排序\n");
scanf("%d",&k);
k=k-1; /*便于与结构体中的数组值对应*/
for(i=0;i<R;i++) /*按K种产品对销售员排序,选择法排序*/
{
t=i;
for(j=i+1;j<R;j++)
if((x+bianhao[t])->shangpin[k]<(x+bianhao[j])->shangpin[k])/*调用职工各自对应的结构体内的产品数量*/
t=j;
if(t!=i)
{
z=bianhao[i];
bianhao[i]=bianhao[t];
bianhao[t]=z;
}
}
printf("按%d产品对销售员排序为:\n",k+1);
for(i=0;i<R;i++)
printf("%5d",bianhao[i]+1);
getch();
fclose(fp);
}
void range_shangpin(data *x) /*统计每种产品的总销售额,输出排序结果*/
{
FILE *fp;
char fname[10];
int i,j,sum[Z]=,bianhao[Z]=,z,t,k;
system("cls");
printf("您想计算哪个月的?\n");
printf("请输入月份:"); /*输入文件名,这样可以进行各个月份信息读入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"rb"))==NULL) /*打开文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i<R;i++) /*读出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("读入信息出错!");
for(i=0;i<Z;i++) /*对各种商品求和*/
for(j=0;j<R;j++)
sum[i]=sum[i]+(x+j)->shangpin[i];
for(i=0;i<Z;) /*用于存储商品编号*/
bianhao[i]=i++;
for(i=0;i<Z;i++)
printf("%3d",bianhao[i]);
for(i=0;i<Z;i++) /*对产品从高到低排序,选择法排序*/
{
t=i;
for(j=i+1;j<Z;j++) /*产品变化时,产品编号也随之变化,便于输出*/
if(sum[t]<sum[j])
t=j;
if(t!=i)
{
k=sum[i];
sum[i]=sum[t];
sum[t]=k;
z=bianhao[i];
bianhao[i]=bianhao[t];
bianhao[t]=z;
}
}
printf("输出产品排序\n");
printf("产品编号 数量\n");
for(i=0;i<Z;i++)
printf("%-10d%-10d\n",bianhao[i]+1,sum[i]);
getch();
fclose(fp);
}
void data_out(data *x) /*输出统计报表*/
{
FILE *fp;
char fname[10];
int i,j,sum[Z+1]=;
system("cls");
printf("您想计算哪个月?\n");
2012年06月09日 00点06分