You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

268 lines
4.5 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#include<stdio.h>
#include<stdlib.h>
#define D 30 //天数
#define M 4 //员工
#define P 5 //产品
struct a
{
int id;
int cpid;
int sum;
}data[D][M];
void shuru();
void save();
void jisuan();
void ypx();
void cpx();
void meun()
{
int n;
while(1)
{
system("CLS");
printf(" ******** 销售管理系统 ********\n");
printf("\n\n\n");
printf(" ******** 1.输入信息 ********\n");
printf(" ******** 2.计算销售额 ********\n");
printf(" ******** 3.员工排序 ********\n");
printf(" ******** 4.统计销售额 ********\n");
printf(" ******** 0.退出 ********\n");
printf("\n\n");
printf("请输入您的操作:");
scanf("%d",&n);
if(n==0)
{
break;
}
switch(n)
{
case 1:shuru();break;
case 2:jisuan();break;
case 3:ypx();break;
case 4:cpx();break;
}
system("pause");
}
return ;
}
void save()
{
FILE *fp;
fp=fopen("d:\\xsxx.txt","a");
if(fp==NULL)
{
printf("file can not open");
exit(0);
}
for(int i=0;i<D;i++)
{
for(int j=0;j<M;j++)
{
fprintf(fp,"%d %d %d\n",data[i][j].id,data[i][j].cpid,data[i][j].sum);
}
}
fclose(fp);
return ;
}
void shuru()
{
for(int i=0;i<D;i++)
{
for(int j=0;j<M;j++)
{
printf("第%d天请输入每位销售员号,产品代号以及该产品当天销售额:",i+1);
scanf("%d%d%d",&data[i][j].id,&data[i][j].cpid,&data[i][j].sum);
}
}
save();
return ;
}
void jisuan()
{
FILE *fb;
int a[M][P]={0};
fb=fopen("d:\\xsxx.txt","r");
rewind(fb);
if(fb==NULL)
{
printf("file can not open");
exit(0);
}
for(int i=0;i<D;i++)
{
for(int j=0;j<M;j++)
{
fscanf(fb,"%d%d%d",&data[i][j].id,&data[i][j].cpid,&data[i][j].sum);
if(data[i][j].id==1)
{
for(int k=1;k<=5;k++)
{
if(data[i][j].cpid==k)
{
a[0][k-1]+=data[i][j].sum;
}
}
}
if(data[i][j].id==2)
{
for(int k=1;k<=5;k++)
{
if(data[i][j].cpid==k)
{
a[1][k-1]+=data[i][j].sum;
}
}
}
if(data[i][j].id==3)
{
for(int k=1;k<=5;k++)
{
if(data[i][j].cpid==k)
{
a[2][k-1]+=data[i][j].sum;
}
}
}
if(data[i][j].id==4)
{
for(int k=1;k<=5;k++)
{
if(data[i][j].cpid==k)
{
a[3][k-1]+=data[i][j].sum;
}
}
}
}
}
for(int x=1;x<=4;x++)
{
for(int y=1;y<=5;y++)
{
printf("这是%d员工%d号产品的销售额%d\n",x,y,a[x-1][y-1]);
}
}
fclose(fb);
return;
}
void ypx()
{
FILE *fp;
int temp;
struct a yg[D][M];
int sz[M]={0},SZ[M];
fp=fopen("d:\\xsxx.txt","r");
if(fp==NULL)
{
printf("file cannot open");
exit(0);
}
rewind(fp);
for(int i=0;i<D;i++)
{
for(int j=0;j<M;j++)
{
fscanf(fp,"%d%d%d",&yg[i][j].id,&yg[i][j].cpid,&yg[i][j].sum);
if(yg[i][j].id==1)
sz[0]+=yg[i][j].sum;
else if(yg[i][j].id==2)
sz[1]+=yg[i][j].sum;
else if(yg[i][j].id==3)
sz[2]+=yg[i][j].sum;
else if(yg[i][j].id==4)
sz[3]+=yg[i][j].sum;
}
}
fclose(fp);
for(int i=0;i<M;i++)
SZ[i]=sz[i];
for(int i=0;i<M;i++)
{
for(int j=i+1;j<M;j++)
{
if(sz[i]>sz[j])
{
temp=sz[i];
sz[i]=sz[j];
sz[j]=temp;
}
}
}
printf("销售员由小到大的顺序为\n");
for(int i=0;i<M;i++)
{
for(int j=0;j<M;j++)
{
if(SZ[j]==sz[i])
printf("%d ",j+1);
}
}
printf("\n");
}
void cpx()
{
FILE *fp;
int temp;
struct a yg[D][M];
int sz[P]={0},SZ[P];
fp=fopen("d:\\xsxx.txt","r");
if(fp==NULL)
{
printf("file cannot open");
exit(0);
}
rewind(fp);
for(int i=0;i<D;i++)
{
for(int j=0;j<M;j++)
{
fscanf(fp,"%d%d%d",&yg[i][j].id,&yg[i][j].cpid,&yg[i][j].sum);
if(yg[i][j].cpid==1)
sz[0]+=yg[i][j].sum;
else if(yg[i][j].cpid==2)
sz[1]+=yg[i][j].sum;
else if(yg[i][j].cpid==3)
sz[2]+=yg[i][j].sum;
else if(yg[i][j].cpid==4)
sz[3]+=yg[i][j].sum;
else if(yg[i][j].cpid==5)
sz[4]+=yg[i][j].sum;
}
}
fclose(fp);
for(int i=0;i<P;i++)
SZ[i]=sz[i];
for(int i=0;i<P;i++)
{
for(int j=i+1;j<P;j++)
{
if(sz[i]<sz[j])
{
temp=sz[i];
sz[i]=sz[j];
sz[j]=temp;
}
}
}
printf("产品销售额从高到低\n");
for(int i=0;i<P;i++)
{
for(int j=0;j<P;j++)
{
if(SZ[j]==sz[i])
{
printf("代号:%d 销售额:%d\n",j+1,SZ[j]);
}
}
}
}
int main()
{
meun();
return 0;
}