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

下載本文檔

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

文檔簡介

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

2、計;(2)利用結(jié)構(gòu)體進(jìn)行相關(guān)信息處理;(3)畫出查詢模塊的流程圖;(4)系統(tǒng)的各個功能模塊要求用函數(shù)的形式實(shí)現(xiàn);(5)界面友好(良好的人機(jī)互交),程序要有注釋。22任務(wù)(1)定義一個結(jié)構(gòu)體類型數(shù)組,輸入每一位同學(xué)的記錄(包括姓名、電話號碼、e_mail、地址),將其信息存入文件中;(2)輸入姓名查詢該同學(xué)的信息,并顯示在屏幕上;(3)畫出所有模塊的流程圖;(4)編寫代碼;(5)程序分析與調(diào)試。23運(yùn)行環(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ù),用來選擇運(yùn)行其他各個函數(shù)。接

3、著要分別設(shè)計輸入數(shù)據(jù)函數(shù),各種統(tǒng)計函數(shù)和各種排序函數(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;sumj=0;j+j<mj=0j+,k+k<mk=j=0file*fp;圖3.1 系統(tǒng)流程圖clrscr();if clrscr();flag=2flag=1intflag;|voidfunction5流程圖(3-3-1)printf("nn -ok -n");printffclose(fp

4、1);fp1 ")=null)file*fp1;voidfunction6流程圖(3-3-1)4 詳細(xì)設(shè)計41詳細(xì)設(shè)計思路1.  main()主函數(shù) 設(shè)置了程序的流程,結(jié)束程序。2.  select ( ) 選擇函數(shù) 選擇所想運(yùn)行的各個函數(shù).3.  functionscan ( ) 輸入函數(shù) 輸入便條的數(shù)據(jù).4.  function1 ( ) 文件的數(shù)據(jù)輸入函數(shù) 多次輸入數(shù)據(jù)5. function2 ( ) 統(tǒng)計函數(shù) 每個人的每種產(chǎn)品的統(tǒng)計6. functionpaixu2 ( )總額排序函數(shù) 按銷售額對商品進(jìn)行排序7. function4()

5、   總額統(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按各商品銷售排序返回x=e統(tǒng)計每月便條返回x=f清除數(shù)據(jù)并退出返回x=g輸

6、出表格返回42 具體代碼實(shí)現(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    /*個人排序用*/ int sum;  int num; empn,work; &#

7、160;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("   * hand on the tips    

8、                      (select a)n");  printf("   * sum everybody's each sales               

9、; (select b)n");  printf("   * order employee by the sales               (select c)n");  printf("   * sum and order each goods by total sales   (select d)n");  

10、printf("   * sum the tips  (each month)                (select e)n");  printf("   * clear all data!/first install me!         (select f)n&qu

11、ot;);  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<='g')  a=a+32;  while(

13、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;    case 'e':k=5;br

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

15、open("c:tcemployee1","a+")=null)          exit(1); printf("           employee.no. goods.no.  total cash:n"); ch=getchar(); ch=getchar();    while (ch!='n')

16、  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)試成功.*/   function1()/*文件的數(shù)據(jù)輸入*/

17、void functionscan(); file *fp1; int i;             i=0;                        printf("-welcome to use- ");    

18、;                    printf("n    *(please input pleaseinput speace between data!)*       n");          &

19、#160;       loop1: functionscan();                        printf("continue?n");/*繼續(xù)?*/        if(i<m*n&&(getc

20、har()='y'|(getchar()='y')        i+;printf("-now is%d the tips-n",i+1);                         goto loop1;    

21、60;                                                   

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<n;j+)     &

23、#160;                          /*員工數(shù)*/    for(k=0;k<m;k+)                 

24、60;     /*商品數(shù)*/  sum=0;   for(i=0;i<t;)                               /*掃描便條數(shù)*/   fscanf(fp,"%d%d%d",&

25、amp;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.is%4d  |totalprice:%9d 

26、60; |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  /   by sales-n"); fo

27、r(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("                    goods'no.%3d   |total

28、price:%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+)                       /*商品數(shù)*/    

30、;    sumk=0;    for(i=0;i<t;)                               /*掃描便條數(shù)*/   fscanf(fp,"%d%d%d",&gsi.emp,&am

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

32、oodsno.%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();   /*.    .按照銷售額對售員排序函數(shù).調(diào)試成功

33、.*/ 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、0;               /*員工數(shù)*/  for(i=0;i<5;)                               /*

35、掃描便條數(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("%4d%4dn",empb.sum,empb.num);*/*數(shù)

36、據(jù)正確性檢查*/ j=0; for(j=0;j<n;j+)  printf("                 employee'sno.%3d   |totalprice:%10dn",j+1 ,sumj); /*打印數(shù)據(jù)*/ functionpaixu();  fclose(fp); printf("press any key back!n"

37、;); 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、;                       /*員工數(shù)*/    for(k=j=0;k<m;j+,k+)                    &#

39、160;  /*商品數(shù)*/        sumj=0;       for(i=0;i<t;)                               /*掃描便條數(shù)*

40、/   fscanf(fp,"%d%d%d",&gsi.emp,&gsi.num,&gsi.price);    if(k+1)=gsi.num)    sumj=sumj+gsi.price;    i+;    printf("                 goodsno.%4d

41、0;  |totalprice:%10dn",(k+1),sumj);             for(j=0;j<m;j+) su=su+sumj; printf("                total is-%dn",su); fclose(fp); printf("press an

42、y 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("my soft in your computer have

43、error!n"); printf("-now please exit-n");     exit(1);    else printf("nn            -ok -n");  fclose(fp1); printf("press any key backn"); getch(); /*-輸出表格函數(shù)-調(diào)試成功-*/ function7

44、()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、0;       the number of the goods  the totaln");printf("employee's number   1    2    3    4    5 n"); for(j=0;j<n;j+)        

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

47、 /*商品數(shù)*/   sum=0; t=0;    for(i=0;i<t;)                               /*掃描便條數(shù)*/    fscanf(fp,"%d%d%d",&gsi.e

48、mp,&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+akt;     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+

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論