销售管理系统课程设计

2025-03-04 17:13:02
推荐回答(1个)
回答1:

  #include
  #include

  struct commode
  {
  int salesperson_number;
  int product_number[5];
  int sales[5];
  };

  struct date
  {
  struct commode comm[4];
  };

  int main()
  {
  char ch;
  bool sign=true;
  int i,j,n,x,sum[4][5]={0},sum1[4]={0},biggest=0,sum2[5]={0},sum3[5]={0},sum4[4]={0},choice,result=0;
  struct date f[31];
  FILE* fp;
  printf("请输入上个月的天数:");
  scanf("%d",&n);

  for(x=0;x  {
  printf("请输入第%d天的销售额\n",x+1);
  for(i=0;i<4;i++)
  {
  f[x].comm[i].salesperson_number=i+1;
  for(j=0;j<5;j++)
  {
  f[x].comm[i].product_number[j]=j+1;
  printf("请输入该天第%d人第%d种产品的销售额:",i+1,j+1);
  scanf("%d",&f[x].comm[i].sales[j]);
  }
  }
  }

  if((fp=fopen("date.txt","w"))==NULL)
  {
  printf("File open error!\n");
  exit(0);
  }

  for(x=0;x  {
  for(i=0;i<4;i++)
  {
  fprintf(fp,"销售员代号%d\n",f[x].comm[i].salesperson_number);
  for(j=0;j<5;j++)
  {
  fprintf(fp,"产品代号%d 销售额%d\n",f[x].comm[i].product_number[j],f[x].comm[i].sales[j]);
  }
  }
  }

  if(fclose(fp))
  {
  printf("Can't close the file!\n");
  exit(0);
  }

  if((fp=fopen("date.txt","r"))==NULL)
  {
  printf("File open error!\n");
  exit(0);
  }

  for(i=0;i<4;i++)
  {
  for(j=0;j<5;j++)
  {
  for(x=0;x  {
  fscanf(fp,"%d",&f[x].comm[i].sales[j]);
  sum[i][j]+=f[x].comm[i].sales[j];
  }
  }
  }
  system("cls");

  while(true)
  {
  printf("0 退出\n1 输出每个人每种产品的销售额\n2 根据销售额对销售员的排名\n");
  printf("3 统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果\n");

  while(result==0)
  {
  fflush(stdin);
  result=scanf("%d",&choice);
  if(result==0)
  printf("请输入一个数字:");
  else
  {
  result=0;
  break;
  }
  }

  switch(choice)
  {
  case 0:
  return 0;

  case 1:
  {
  for(i=0;i<4;i++)
  {
  for(j=0;j<5;j++)
  {
  printf("第%d个人第%d件产品的销售额为%d\n",i+1,j+1,sum[i][j]);
  }
  }
  }
  break;

  case 2:
  {
  for(i=0;i<4;i++)
  {
  for(j=0;j<5;j++)
  {
  sum1[i]+=sum[i][j];
  }
  sum4[i]=sum1[i];
  }

  printf("根据销售额对销售员的排名如下\n");
  for(i=0;i<4;i++)
  {
  biggest=i;
  for(j=i+1;j<4;j++)
  {
  if(sum1[biggest]  biggest=j;
  }
  if(biggest!=i)
  {
  int temp;
  temp=sum1[i];
  sum1[i]=sum1[biggest];
  sum1[biggest]=temp;
  }
  }
  for(i=0;i<4;i++)
  {
  for(j=0;j<4;j++)
  {
  if(sum1[i]==sum4[j])
  {
  printf("%d\n",j+1);
  sum4[j]=-1;
  break;
  }
  }
  }
  for(i=0;i<4;i++)
  {
  sum1[i]=0;
  }
  }
  break;

  case 3:
  {
  biggest=0;
  for(j=0;j<5;j++)
  {
  for(i=0;i<4;i++)
  {
  sum2[j]+=sum[i][j];
  }
  sum3[j]=sum2[j];
  }
  for(j=0;j<5;j++)
  {
  biggest=j;
  for(i=j+1;i<5;i++)
  {
  if(sum2[biggest]  biggest=i;
  }
  if(biggest!=j)
  {
  int temp;
  temp=sum2[j];
  sum2[j]=sum2[biggest];
  sum2[biggest]=temp;
  }
  }
  for(i=0;i<5;i++)
  {
  for(j=0;j<5;j++)
  {
  if(sum2[i]==sum3[j])
  {
  printf("产品号%d 销售额%d\n",j+1,sum2[i]);
  sum3[j]=-1;
  break;
  }
  }
  }
  for(i=0;i<5;i++)
  {
  sum2[i]=0;
  }
  }
  break;

  default:
  printf("请输入正确的选择!\n");
  break;
  }

  fflush(stdin);
  printf("请问是否想继续选择查看(yes(y)或no(n):");
  while(true)
  {
  scanf("%c",&ch);
  if(ch=='y'||ch=='Y')
  {
  system("cls");
  break;
  }
  else
  {
  if(ch=='N'||ch=='n')
  return 0;
  else
  {
  fflush(stdin);
  printf("请输入y或n\n");
  }
  }
  }

  }

  if(fclose(fp))
  {
  printf("Can't close the file!\n");
  exit(0);
  }

  return 0;

  }