用C語言程序設(shè)計銷售管理系統(tǒng)_第1頁
用C語言程序設(shè)計銷售管理系統(tǒng)_第2頁
用C語言程序設(shè)計銷售管理系統(tǒng)_第3頁
用C語言程序設(shè)計銷售管理系統(tǒng)_第4頁
用C語言程序設(shè)計銷售管理系統(tǒng)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上1 前言某公司有四個銷售員(編號:1-4),負責銷售五種產(chǎn)品(編號:1-5)。每個銷售員都將當天出售的每種產(chǎn)品各寫一張便條交上來。每張便條包含內(nèi)容:1)銷售員的代號 ;2)產(chǎn)品的代號;3)這種產(chǎn)品的當天的銷售額;每位銷售員每天可能上繳0-5張便條。假設(shè),收集到了上個月的所有便條,編寫一個處理系統(tǒng),讀取上個月的銷售情況(自己設(shè)定),進行如下處理。 1)計算上個月每個人每種產(chǎn)品的銷售額。2)按銷售額對銷售員進行排序,輸出排序結(jié)果(銷售員代號)3)統(tǒng)計每種產(chǎn)品的總銷售額,對這些產(chǎn)品按從高到低的順序,輸出排序結(jié)果(需輸出產(chǎn)品的代號和銷售額)4)輸出統(tǒng)計報表 2 需求分析21要

2、求(1)用c語言實現(xiàn)程序設(shè)計;(2)利用結(jié)構(gòu)體進行相關(guān)信息處理;(3)畫出查詢模塊的流程圖;(4)系統(tǒng)的各個功能模塊要求用函數(shù)的形式實現(xiàn);(5)界面友好(良好的人機互交),程序要有注釋。22任務(wù)(1)定義一個結(jié)構(gòu)體類型數(shù)組,輸入每一位同學(xué)的記錄(包括姓名、電話號碼、e_mail、地址),將其信息存入文件中;(2)輸入姓名查詢該同學(xué)的信息,并顯示在屏幕上;(3)畫出所有模塊的流程圖;(4)編寫代碼;(5)程序分析與調(diào)試。23運行環(huán)境(1)WINDOWS2000/XP系統(tǒng)(2)Turboc2.0編譯環(huán)境24開發(fā)工具C語言3 概要設(shè)計3.1總體設(shè)計本程序要設(shè)計銷售管理系統(tǒng),首先要設(shè)計一個選擇函數(shù),用

3、來選擇運行其他各個函數(shù)。接著要分別設(shè)計輸入數(shù)據(jù)函數(shù),各種統(tǒng)計函數(shù)和各種排序函數(shù),用以實現(xiàn)各種統(tǒng)計和排序功能,最后要設(shè)計一個數(shù)據(jù)請空函數(shù)和統(tǒng)計表輸出函數(shù),得到程序設(shè)計要求的表格。32 系統(tǒng)流程圖(如圖3.1)printf(" total is-%dn",su);su=su+sumj;Side By Sidesumj=0;j+j<Mj=0j+,k+k<Mk=j=0FILE*fp;圖3.1 系統(tǒng)流程圖clrscr();Side By SideIF clrscr();flag=2flag=1intflag;|Voidfunction5流程圖(3-3-1)printf(&

4、quot;nn -Ok -n");printffclose(fp1);fp1 ")=NULL)FILE*fp1;voidfunction6流程圖(3-3-1)4 詳細設(shè)計41詳細設(shè)計思路1.  main()主函數(shù) 設(shè)置了程序的流程,結(jié)束程序。2.  select ( ) 選擇函數(shù) 選擇所想運行的各個函數(shù).3.  functionscan ( ) 輸入函數(shù) 輸入便條的數(shù)據(jù).4.  function1 ( ) 文件的數(shù)據(jù)輸入函數(shù) 多次輸入數(shù)據(jù)5. function2 ( ) 統(tǒng)計函數(shù) 每個人的每種產(chǎn)品的統(tǒng)計6. functionpaixu

5、2 ( )總額排序函數(shù) 按銷售額對商品進行排序7. function4()   總額統(tǒng)計函數(shù) 統(tǒng)計每種產(chǎn)品的總額8. function3()   售員排序函數(shù)    按照銷售額對售員排序函數(shù)9. function5()   統(tǒng)計報表函數(shù)  統(tǒng)計商品總額10. function6() 清空文件函數(shù) 清空文件數(shù)據(jù)11. functionpaixu() 個人排序函數(shù) 按銷售總額對售員排序4.2功能模塊設(shè)計開始輸入XX=A輸入數(shù)據(jù)繼續(xù)輸入數(shù)據(jù)返回X=B統(tǒng)計各人銷售數(shù)量返回X=C按各人銷售額排序返回X=D

6、按各商品銷售排序返回X=E統(tǒng)計每月便條返回X=F清除數(shù)據(jù)并退出返回X=G輸出表格返回42 具體代碼實現(xiàn)#define N 4  /*宏定義職工數(shù)*/ #define M 5  /*商品數(shù)*/ #define T (N*M*30) #include"stdio.h"  struct goods     /*貨物編號*/ int emp;  int num;  int price; gsT;  struct emploee    /*個人排序用*/

7、int sum;  int num; empN,work;  struct sum int num;  int sum; sum1M,you;/*總額排序用*/  /*.打印選擇函數(shù).調(diào)試成功!.*/ print1()    /*打印選擇函數(shù)*/ printf("*mune*n");  printf("  please select what are you going to do:n");  printf("   * Han

8、d on the tips                          (select A)n");  printf("   * Sum everybody's each sales        

9、0;       (select B)n");  printf("   * Order employee by the sales               (select C)n");  printf("   * Sum and order each goods by total sales&#

10、160;  (select D)n");  printf("   * Sum the tips  (each month)                (select E)n");  printf("   * clear all data!/first install me!    &#

11、160;    (select F)n");  printf("   * Output the table                          (select G)n"); printf("*n");  &

12、#160;              /*完成*/  /*-選擇函數(shù)-調(diào)試成功!-*/ int select()    /*選擇函數(shù)*/ int k;  char a;  do printf("Please select:");  scanf("%c",&a);  if(a>='A'&&a<=&#

13、39;G')  a=a+32;  while(a>='A'&&a<='G'|a>='a'&&a<='g')!=1); switch(a)   case 'a':k=1;break;    case 'b':k=2;break;    case 'c':k=3;break;    case 'd':k=4;break;

14、    case 'e':k=5;break;    case 'f':k=6;break;    case 'g':k=7;break;  return(k);                  /*完成*/  /*.輸入數(shù)據(jù)函數(shù).調(diào)試成功.*/  void functionscan()/*輸入數(shù)據(jù)

15、函數(shù)*/ FILE *fp; char ch;  if(fp=fopen("c:tcemployee1","a+")=NULL)          exit(1); printf("           employee.No. goods.No.  total cash:n"); ch=getchar(); ch=getchar();

16、   while (ch!='n')   fputc(ch,fp);     ch=getchar();   rewind(fp); printf("Now you have data is:n"); ch=fgetc(fp); while(ch!=EOF) putchar(ch); ch=fgetc(fp); fputc('n',fp);/*添加回車符*/ fclose(fp); printf("n");  /*.文件的數(shù)據(jù)輸入.調(diào)試成功.*

17、/   function1()/*文件的數(shù)據(jù)輸入*/ void functionscan(); FILE *fp1; int i;             i=0;                        printf("-welco

18、me to use- ");                        printf("n    *(please input pleaseinput speace between data!)*       n");    

19、              loop1: functionscan();                        printf("continue?n");/*繼續(xù)?*/     &#

20、160;  if(i<M*N&&(getchar()='y'|(getchar()='Y')        i+;printf("-Now is%d the tips-n",i+1);                       

21、60; goto loop1;                                                  

22、       printf("press any key backn"); getch(); /*.每個人的每種產(chǎn)品的統(tǒng)計.調(diào)試成功.*/   void function2()/*每個人的每種產(chǎn)品的統(tǒng)計*/ FILE *fp; int i=0,j=0,sum,k; printf("-Every employee's sales-nnn"); fp=fopen("c:tcemployee1","r+"); for(j=0;j<

23、;N;j+)                                /*員工數(shù)*/    for(k=0;k<M;k+)           &#

24、160;           /*商品數(shù)*/  sum=0;   for(i=0;i<T;)                               /*掃描便條數(shù)*/

25、  fscanf(fp,"%d%d%d",&gsi.emp,&gsi.num,&gsi.price);    if(j+1)=gsi.emp&&(k+1)=gsi.num)    sum=sum+gsi.price;    i+;       printf("        | employee'sNo.%3d  |goodsNo

26、.is%4d  |totalprice:%9d   |n",j+1,k+1,sum);  printf("        -n");    fclose(fp); printf("press any key backn"); getch();  /*-總額排序函數(shù)-*/  void functionpaixu2() int i,j,r; printf("-Now ordered 

27、; /   by sales-n"); for(i=0;i<M;i+) for(j=i+1;j<M;j+)  if(sum1i.sum<sum1j.sum) you=sum1i;  sum1i=sum1j;  sum1j=you; for(r=0;r<M;r+) printf("                   

28、; goods'No.%3d   |totalprice:%10dn",sum1r.num,sum1r.sum); /*打印數(shù)據(jù)*/  /*.每種產(chǎn)品的總額.調(diào)試成功.*/  function4()      /*每種產(chǎn)品的總額*/ FILE *fp; int i=0,sumM=0,k,r; fp=fopen("c:tcemployee1","r+");         

29、;                        /*員工數(shù)*/    for(k=0;k<M;k+)                    &

30、#160;  /*商品數(shù)*/        sumk=0;    for(i=0;i<T;)                               /*掃描便條數(shù)*/   fscanf(f

31、p,"%d%d%d",&gsi.emp,&gsi.num,&gsi.price);    if(k+1)=gsi.num)    sumk=sumk+gsi.price;    i+;              printf("             &

32、#160;      goodsNo.%4d   |totalprice:%10dn",k+1,sumk);           for(r=0;r<M;r+) sum1r.sum=sumr;sum1r.num=r+1; functionpaixu2(); fclose(fp);  printf("press any key backn"); getch();   /*. 

33、;   .按照銷售額對售員排序函數(shù).調(diào)試成功.*/ function3()       /*按照銷售額對售員排序函數(shù)*/ FILE *fp; void functionpaixu(); int i=0,j=0,sumN=0,b=0; fp=fopen("c:tcemployee1","r+"); for(j=0;j<N;j+)        /*掃描數(shù)據(jù)*/ sumj=0; 

34、60;                     /*員工數(shù)*/  for(i=0;i<5;)                        &#

35、160;      /*掃描便條數(shù)*/   fscanf(fp,"%d%d%d",&gsi.emp,&gsi.num,&gsi.price);    if(j+1)=gsi.emp)    sumj=sumj+gsi.price;    i+;         for(b=0;b<N;b+) empb.sum=sumb;empb.num=b+1; /*printf("

36、%4d%4dn",empb.sum,empb.num);*/*數(shù)據(jù)正確性檢查*/ j=0; for(j=0;j<N;j+)  printf("                 employee'sNo.%3d   |totalprice:%10dn",j+1 ,sumj); /*打印數(shù)據(jù)*/ functionpaixu();  fclose(fp); p

37、rintf("press any key back!n"); getch(); /*-調(diào)試成功-統(tǒng)計報表-*/ function5() FILE *fp; int su=0,i,j,sumM=0,k; printf("         -Sale's  Table-n");      fp=fopen("c:tcemployee1","r+");   

38、0;                             /*員工數(shù)*/    for(k=j=0;k<M;j+,k+)              &

39、#160;        /*商品數(shù)*/        sumj=0;       for(i=0;i<T;)                          &

40、#160;    /*掃描便條數(shù)*/   fscanf(fp,"%d%d%d",&gsi.emp,&gsi.num,&gsi.price);    if(k+1)=gsi.num)    sumj=sumj+gsi.price;    i+;    printf("            

41、60;    goodsNo.%4d   |totalprice:%10dn",(k+1),sumj);             for(j=0;j<M;j+) su=su+sumj; printf("                total is-%dn",s

42、u); fclose(fp); printf("press any key backn"); getch(); /*-清空文件函數(shù)-調(diào)試成功-*/ function6()/*清空文件函數(shù)*/ FILE *fp1; printf("nnplease wait!.n"); fp1=fopen("c:tcemployee1","w");  if(fp1=fopen("c:tcemployee1","w")=NULL)/*新建文件*/    printf

43、("My soft in your computer have error!n"); printf("-Now please exit-n");     exit(1);    else printf("nn            -Ok -n");  fclose(fp1); printf("press any key backn"); getc

44、h(); /*-輸出表格函數(shù)-調(diào)試成功-*/ function7()int t,s;int aNM;           FILE *fp; int i=0,j=0,sum,k; fp=fopen("c:tcemployee1","r+");printf("table of the statistics of the salen");printf("      

45、60;             the number of the goods  the totaln");printf("employee's number   1    2    3    4    5 n"); for(j=0;j<N;j+)  &#

46、160;                             /*員工數(shù)*/  for(k=0;k<M;k+)                

47、;       /*商品數(shù)*/   sum=0; t=0;    for(i=0;i<T;)                               /*掃描便條數(shù)*/    fs

48、canf(fp,"%d%d%d",&gsi.emp,&gsi.num,&gsi.price);     if(j+1)=gsi.emp&&(k+1)=gsi.num)     sum=sum+gsi.price;     i+;       akt+=sum;  s=0;  for(t=0;t<M;t+)        s=s+ak

49、t;     akM=s;   printf("%5d",j+1);  for(t=0;t<=M;t+)   printf("%8d",akt);  printf("n");  /*-個人排序函數(shù)-調(diào)試成功-*/ void functionpaixu() int i,j,r; printf("n-Now ordered   /  by sales-n"); for(i=0;i<N;i+) fo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論