⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xs.c

📁 销售管理系统
💻 C
字号:
#include<stdio.h>
#include<stdlib.h>
#define max  31*4*5*5
#include<graphics.h>
struct goods
{
     int p_num;
     int num;
     int g_num;
} s[max];

struct persons
{
     int num[7];
}p[6],w;
/*主函数*/
int n;/*全局变量*/
int x0,y0;
main()
{  
int   output1(),output2(),output3(),output4(),save(),mulu(),arg();  

int x0,y0;
char a;
while(1)
{
    textbackground(5);
    textcolor(11);
    clrscr();
    x0=30,y0=3;
    gotoxy(x0-5,y0); puts("*******销售管理系统********");
    gotoxy(x0-7,y0+3);puts("请按以下格式键入销售信息(按-1结束):");
    gotoxy(x0-10,y0+4);puts("销售员代号(<=4)   产品代号(<=5)  销售额");
    a=bioskey(0)%256;
    if(a=-1)break;
}
 
  
for(n=0;n<max;n++)
     {  
         scanf("%d",&s[n].p_num);
         if(s[n].p_num==(-1))
         break;
         else 
         scanf("%d%d",&s[n].g_num,&s[n].num);
     }
     mulu();

} 
/*菜单*/ 
int   mulu()     
{
char a;
arg();
  while(1)
  {
    textbackground(10);
    textcolor(14);
    clrscr();
    a=0,x0=30,y0=3;
    gotoxy(x0+1,y0); puts("********销售管理系统*********");
    gotoxy(x0-20,y0+=3);puts("1.计算上个月每个人每种产品的销售额");
    gotoxy(x0-20,y0+=2);puts("2.按销售额对销售员进行排序,输出排序结果(销售员代号)");
    gotoxy(x0-20,y0+=2);puts("3.统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果");
    gotoxy(x0-20,y0+=2);puts("4.输出统计报表");
    gotoxy(x0-20,y0+=2);puts("0: 退   出  系   统");
    gotoxy(x0-20,y0+=3);printf("请输入数字选择(0-4):    ");
    a=bioskey(0)%256;
    switch(a)
    {
    case '1':output1(); break;
    case '2':output2();break;
    case '3':output3();break;
    case '4':output4(); break;
    case '0':closefile(); exit(0);
    default:printf("您按错键了,请确定后重新按!谢谢!");
    getch();

    }
  }
}

int arg()
{    int k,a,j;
for(k=1;k<=5;k++)
{      p[0].num[k]=k;
         for(a=1;a<=6;a++)
       p[k].num[a]=0;
}
for(k=1;k<=4;k++)
     p[k].num[0]=k;
      
     for(k=1;k<=4;k++)
       for(a=1;a<=5;a++)
         for(j=0;j<31*4*5*5;j++)
         if(s[j].p_num==k && s[j].g_num==a)
       p[k].num[a]=p[k].num[a]+s[j].num;
    /*每种产品的销售额*/
     for(a=1;a<=5;a++)
        for(k=1;k<=4;k++)
    p[5].num[a]=p[5].num[a]+p[k].num[a];
         
    
    /* 每个人的销售额*/
   for(k=1;k<=5;k++)
         for(a=1;a<=5;a++)       
           p[k].num[6]=p[k].num[6]+p[k].num[a];
}
int   output1()
{    int i,k;
     textbackground(5);
     textcolor(11);
     clrscr();
     x0=0,y0=0;
     gotoxy(x0+19,y0+3); puts("************上个月每个人销售情况如下:************");
     gotoxy(x0+34,y0+4);puts("按任意键返回主菜单");
     gotoxy(x0+25,y0+=7);puts("产品代码 ");
     gotoxy(x0,y0);printf("销售员码");
     gotoxy(x0+=13,y0+=1);
  for(k=1;k<=5;k++)
     {printf("%d",p[0].num[k]);
     gotoxy(x0+=8,y0);}
     gotoxy(x0-=56,y0+=3);
  for(i=1;i<=4;i++)
      {for(k=0;k<=5;k++)
      {gotoxy(x0+=8,y0);printf("%d",p[i].num[k]);}
       gotoxy(x0-=48,y0+=3);}
       getch(); mulu();

}
/*按销售额对销售员进行排序,输出排序结果(销售员代号)*/
int output2()
{    
     int i,r,j;char a;

    textbackground(5);
    textcolor(11);

    clrscr();
    x0=0,y0=0;
    gotoxy(x0+16,y0+3); puts("**********按销售额对销售员排序情况如下**********");
    gotoxy(x0+29,y0+4); puts("按任意键返回主菜单");
    printf("\n\n\n");
    gotoxy(x0,y0);puts("销售员代码          销售总额    ");
    

 
      /*按销售额排序*/
     for(i=1;i<4;++i)
     {          
                  r=i;
         for(j=i+1;j<=4;j++)
          if(p[r].num[6]<p[j].num[6]) 
                       r=j;
          if(r!=i)
          {   w=p[i];
             p[i]=p[r];
             p[r]=w;
          }
      
      } 



         for(i=1;i<=4;i++)
         printf("      %d\t\t\t%d\n\n",p[i].num[0],p[i].num[6]);
getch(); mulu();
}
/*统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果 */    
int output3()    
{         
     int k,i,r,t;char a;

    textbackground(5);
    textcolor(11);

    clrscr();
    x0=0,y0=0;
    gotoxy(x0+20,y0+3); puts("******每种产品的总销售额顺序情况如下******");
    gotoxy(x0+32,y0+4);puts("按任意键返回主菜单");
    printf("\n\n\n");
    gotoxy(x0,y0);puts("产品代码      总销售额   ");
    for(k=1;k<5;k++)
     {       
         r=k;
         for(t=k+1;t<=5;t++)
         if(p[5].num[r]<p[5].num[t])   r=t;
         if(r!=k)
         for(i=0;i<=5;i++)
    {    p[i].num[6]=p[i].num[k];
         p[i].num[k]=p[i].num[r];
         p[i].num[r]=p[i].num[6];
    }
    
     }
     for(k=1;k<=5;k++)
     printf("    %d\t\t%d \n\n",p[0].num[k],p[5].num[k]);
     getch(); mulu();
}
/* 输出统计报表*/
int output4()
{int i,k;  
 int flage=0;
 textbackground(5);
 textcolor(11);
 clrscr();
 x0=0;y0=0;n=0;      
    gotoxy(x0+23,y0+3);printf("************销售统计报表*************\n\n");
    gotoxy(x0+23,y0+4);puts("         按任意键返回主菜单");
 
    gotoxy(x0+2,y0+7);printf("\t\t\t产品代号  ");
    printf("\n");
    gotoxy(x0,y0+5);printf("销售员码1\t2\t3\t4\t5\t销售之和\n\n ");
         for(i=1;i<=4;i++)
   {for(k=0;k<=6;k++)
      {gotoxy(x0,y0+6);printf("%d\t",p[i].num[k]);n++;}
      if(n%7==0)
      printf("\n\n");
    
   }
       gotoxy(x0,y0+10);  printf("总和\t");
       for(k=1;k<=6;k++)
       printf("%d\t",p[5].num[k]);
       if(flage==0)/*保证只存一次*/
       {save();
       flage=1; 
       printf("\n\n   信息已成功保存!----->文件名:GOODS_IN.TXT<");getch();
       }mulu();
}
int save()/*向磁盘写*/
{
   FILE *fp;
   int i,k;
   if((fp=fopen("c:\\GOODS_IN.TXT","wt"))==NULL)
   {
    printf("\n\n不能打开文件,按任意键退出!");
    getch();
    exit(1);
   }
   fprintf(fp,"                产品代号   \n销售员码1\t2\t3\t4\t5\t销售之和\n\n");
   for(i=1;i<=4;i++)
   { for(k=0;k<=6;k++)
     fprintf(fp,"%d\t",p[i].num[k]);
     fprintf(fp,"\n\n");
   }
     fprintf(fp,"总和    ");
     for(k=1;k<=6;k++)
     fprintf(fp,"%d\t",p[5].num[k]);
     fclose(fp);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -