營銷管理系統(tǒng)課程設(shè)計_第1頁
已閱讀1頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  信息科學與技術(shù)學院</b></p><p>  程序設(shè)計基礎(chǔ)課程設(shè)計報告</p><p>  題目名稱:營銷管理系統(tǒng) </p><p>  學生姓名: </p><p>  學 號:

2、 </p><p>  專業(yè)班級:計算機科學與技術(shù)(1)班 </p><p>  指導(dǎo)教師: </p><p>  2012年 06月 25日</p><p><b>  目

3、 錄</b></p><p>  1 課程設(shè)計題目與要求3</p><p><b>  1.1設(shè)計題目3</b></p><p><b>  1.2設(shè)計要求3</b></p><p><b>  2.總體設(shè)計4</b></p><p>

4、;  2.1程序設(shè)計組成框圖4</p><p>  2.2程序流程圖5</p><p>  3.詳細設(shè)計 ( 流程圖見附錄 )5</p><p>  3.1數(shù)據(jù)結(jié)構(gòu)設(shè)計6</p><p>  3.2主模塊設(shè)計6</p><p>  4.運行結(jié)果(附加截圖和說明)13</p><p>

5、  4.1進入界面13</p><p>  4.2操作菜單13</p><p>  4.3各功能操作流程13</p><p>  5.課程設(shè)計總結(jié)16</p><p>  5.1在設(shè)計中我們實現(xiàn)了設(shè)計目標的所有內(nèi)容16</p><p>  5.2其中遇到了以下問題:16</p><p&g

6、t;  5.3該程序的不足:17</p><p><b>  6.參考文獻17</b></p><p><b>  前言</b></p><p>  隨著銷售企業(yè)間競爭的日益加強,企業(yè)對管理系統(tǒng)的要求也越來越高,銷售管理系統(tǒng)基于商業(yè)運作,依據(jù)邏輯統(tǒng)籌等運算思維,將銷售業(yè)務(wù)的合同、銷售發(fā)貨、結(jié)款以及歷史數(shù)據(jù)緊密銜接在一起

7、。該系統(tǒng)具有了功能非常強大地數(shù)據(jù)處理和綜合查詢統(tǒng)計功能。本系統(tǒng)還有良好的靈活性、開放性。用戶可以方便的管理各項目,改變現(xiàn)在管理內(nèi)容。本系統(tǒng)采用Visual C++ 6.0編寫,后臺數(shù)據(jù)庫采用Access。</p><p><b>  正文</b></p><p>  1 課程設(shè)計題目與要求</p><p><b>  1.1設(shè)計題目&

8、lt;/b></p><p>  設(shè)計一個C語言程序(銷售管理系統(tǒng)),具體要求:</p><p>  某公司有四個銷售員(編號:1-4),負責銷售五種產(chǎn)品(編號1-5)。每個銷售員都將當天出售的每種產(chǎn)品各寫一張便條交上來。每張便條包含內(nèi)容:</p><p><b>  銷售員的代號</b></p><p><

9、b>  產(chǎn)品的代號</b></p><p>  這種產(chǎn)品當天的銷售額</p><p>  每位銷售員每天的可能上交0-5張便條。假設(shè),收集到了上個月的所有便條,編寫一個處理系統(tǒng),讀取上個月的銷售情況,進行如下處理: 主要功能: </p><p>  1、計算上個月每個人每種產(chǎn)品的銷售額。</

10、p><p>  2、按銷售額對銷售員進行排序,輸出排序結(jié)果(銷售員代號)</p><p>  3、統(tǒng)計每種產(chǎn)品的總銷售額,對這些產(chǎn)品按從高到底的順序輸出排序結(jié)果(需輸出產(chǎn)品的代號和銷售額)</p><p><b>  4、輸出統(tǒng)計報表</b></p><p><b>  1.2設(shè)計要求</b></

11、p><p> ?。?)只能使用C/C++語言,源程序要有適當?shù)淖⑨?,使程序容易閱讀</p><p> ?。?)至少采用文本菜單界面(如果能采用圖形菜單界面更好)</p><p> ?。?)學生可自動增加新功能模塊</p><p><b>  2.總體設(shè)計</b></p><p>  2.1程序設(shè)計組成

12、框圖</p><p><b>  2.2程序流程圖</b></p><p>  `3.詳細設(shè)計 ( 流程圖見附錄 )</p><p><b>  3.1數(shù)據(jù)結(jié)構(gòu)設(shè)計</b></p><p>  程序中主要用到了結(jié)構(gòu)體數(shù)組,定義類型,用結(jié)構(gòu)體數(shù)組可以使得程序比較簡便,易于讀懂,免去頻繁的賦值,而用定義

13、類型,使得程序具有移植性,健壯性好。</p><p><b>  3.2主模塊設(shè)計</b></p><p>  1)各模塊程序流程圖</p><p>  2)f1()模塊功能 </p><p>  函數(shù)的功能: 計算上個月每個人每種產(chǎn)品的銷售額 </p><p>  函數(shù)的入口: 從mai

14、n()的switch()開關(guān)結(jié)構(gòu)中進入,即choice的值為1時進入該函數(shù),打開.dat數(shù)據(jù)文件,然后提示用戶通過鍵盤對該月的員工銷售情況進行數(shù)據(jù)的讀入。</p><p>  函數(shù)調(diào)用關(guān)系: 被主函數(shù)調(diào)用。由switch()開關(guān)結(jié)構(gòu)中進入,并在文中無返回值的空值void函數(shù)。</p><p>  函數(shù)的出口: 當程序執(zhí)行提示語“cout("繼續(xù)輸入請按回車,結(jié)束輸入請按esc

15、\n");”的時候,對用戶的操作進行提示,如果用戶選擇了按“ESC”鍵,則用戶選擇了結(jié)束數(shù)據(jù)的錄入,將結(jié)束該函數(shù),而執(zhí)行主函數(shù)main()中“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行for循環(huán)結(jié)構(gòu)。</p><p><b>  f2()模塊功能</b></p><p>  函數(shù)的功能: 按銷售額對銷售員進行排序,輸出排序結(jié)果。 </p

16、><p>  函數(shù)的入口: 程序從main()的switch()開關(guān)結(jié)構(gòu)中進入,即choise的值為2時,開始進入該函數(shù),進入函數(shù)后,首先用“fopen()”打開文件,然后利用“fread()”讀取二進制數(shù)據(jù),最終利用選擇排序法,按銷售員的所選產(chǎn)品的總銷售額對銷售員進行排序。</p><p>  函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。由switch()開關(guān)結(jié)構(gòu)中進入,并在文中無返回值的空值void函數(shù)

17、。</p><p>  函數(shù)的出口: 當輸出排序結(jié)果用cout()標準輸出到屏幕上,然后結(jié)束該函數(shù),而執(zhí)行主函數(shù)main()中“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行for循環(huán)結(jié)構(gòu)。</p><p><b>  f3()模塊功能 </b></p><p>  函數(shù)的功能: 統(tǒng)計每種產(chǎn)品的總銷售額,輸出排序結(jié)果 </p&

18、gt;<p>  函數(shù)的入口: 從main()的switch()開關(guān)結(jié)構(gòu)中進入,即choise的值為3的時侯,進入該函數(shù),開始讀取數(shù)據(jù)對用戶進行提示,然后統(tǒng)計每種產(chǎn)品的總銷售額。將計算后的總銷售額進行排序,最終把排序的結(jié)果用cout()標準輸出函數(shù),將結(jié)果輸出在屏幕上。</p><p>  函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。由switch()開關(guān)結(jié)構(gòu)中進入,并在文中無返回值的空值void函數(shù)。</

19、p><p>  函數(shù)的出口:當輸出排序結(jié)果用cout()標準輸出到屏幕上,然后結(jié)束該函數(shù),而執(zhí)行主函數(shù)main()中“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行for循環(huán)結(jié)構(gòu)。</p><p><b>  f4()模塊功能</b></p><p>  函數(shù)的功能: 輸出統(tǒng)計報表 </p><p>  函數(shù)的入

20、口: 從main()的switch()開關(guān)結(jié)構(gòu)中進入,即choise的值為3時,進入該函數(shù),然后通過fopen()函數(shù)。即:“if((fp=fopen(fname,"rb"))==NULL)” 打開文件。進入數(shù)據(jù)的處理。</p><p>  函數(shù)調(diào)用關(guān)系: 被主函數(shù)調(diào)用。由switch()開關(guān)結(jié)構(gòu)中進入,并在文中無返回值的空值void函數(shù)。</p><p>  函數(shù)的

21、出口: 開始時讀取數(shù)據(jù)后,統(tǒng)計報表已經(jīng)輸出到屏幕上時,然后利用而執(zhí)行主函數(shù)main()中“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行for循環(huán)結(jié)構(gòu)。</p><p>  3)menu()主菜單模塊功能 </p><p><b>  圖-主菜單界面</b></p><p>  函數(shù)的功能: 主要作用是提示用戶操作,體現(xiàn)模塊化思想,主

22、要是顯示出菜單讓用戶選擇要進行的任務(wù)。</p><p>  函數(shù)的入口: 從主函數(shù)main()中的system("cls"); /*清屏命令*/menu(); /*菜單函數(shù)提示用戶怎樣選擇*/進入函數(shù),這是直接被主函數(shù)main()調(diào)用的。</p><p>  函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。并在文中無返回值的空值void函數(shù)。</p><p>  函

23、數(shù)的出口:執(zhí)行完所有的cout()函數(shù)后自動退出該函數(shù)。</p><p>  4)main()主函數(shù)功能</p><p>  ——本函數(shù)由本組成員共同設(shè)計</p><p><b>  軟件進入提示頁面</b></p><p>  函數(shù)的功能: 用于聯(lián)系各個功能函數(shù)模塊,以及退出程序時的退出畫面提示。</p>

24、<p>  函數(shù)的入口: 整個程序是從主函數(shù)開始的。</p><p>  函數(shù)的出口: 當從main()的switch()開關(guān)結(jié)構(gòu)中進入,即choise的值為5時通過break;跳出for循環(huán),然后退出main()函數(shù),即:退出整個程序。</p><p>  函數(shù)調(diào)用關(guān)系:該函數(shù)不被其它函數(shù)調(diào)用</p><p>  4.運行結(jié)果(附加截圖和說明)<

25、;/p><p><b>  4.1進入界面</b></p><p><b>  4.2操作菜單</b></p><p>  4.3各功能操作流程</p><p>  1)進行產(chǎn)品的輸入與保存(如圖)</p><p>  2)按銷售額對銷售員進行排序(如圖)</p>

26、<p>  3)計算產(chǎn)品銷售額,并按大小順序排列(如圖)</p><p><b>  4)輸出統(tǒng)計表格</b></p><p><b>  5)結(jié)束進程</b></p><p><b>  5.課程設(shè)計總結(jié)</b></p><p>  5.1在設(shè)計中我們實現(xiàn)了設(shè)計目標

27、的所有內(nèi)容</p><p>  即:1、計算上個月每個人每種產(chǎn)品的銷售額。</p><p>  2、按銷售額對銷售員進行排序,輸出排序結(jié)果(銷售員代號)</p><p>  3、統(tǒng)計每種產(chǎn)品的總銷售額,對這些產(chǎn)品按從高到底的順序,輸出排序結(jié)果(需輸出產(chǎn)品的代號和銷售額)</p><p><b>  4、輸出統(tǒng)計報表</b>

28、;</p><p>  5.2其中遇到了以下問題:</p><p>  1)數(shù)據(jù)輸入文件的形式:</p><p>  原本用fprintf()以ASCLL碼的形式輸入.txt文件中,這樣對實現(xiàn)“數(shù)據(jù)的輸入是否正確的判斷語句” 的編寫很困難,而且ASCLL碼的形式輸入.txt文件保密性差,不方便公司對文件的保密管理。</p><p><b

29、>  解決方案:</b></p><p>  采用fwrite()函數(shù)的二進制形式輸入.dat數(shù)據(jù)文件中解決了以上問題,使“數(shù)據(jù)的輸入是否正確的判斷語句”</p><p>  2)文件的創(chuàng)建方案及命名形式:</p><p>  文件應(yīng)在用戶計算數(shù)據(jù)時自動創(chuàng)建;文件創(chuàng)建時的擴展名.dat的添加困難。</p><p><b

30、>  解決方案:</b></p><p>  用strcat(fname,".dat");將擴展名的.dat字符加到fname后面,令實現(xiàn)了文件的命名,如1月的數(shù)據(jù)文件,在使用者輸入1時就實現(xiàn)了文件.dat的創(chuàng)建。</p><p>  3)輸入出錯的常見問題: </p><p>  輸入時,scantf()函數(shù)中出現(xiàn)非地址項,某

31、變量未進行類型定義,以及語句末尾缺少分號等常見的低等錯誤。</p><p><b>  解決方案:</b></p><p>  根據(jù)Microsoft Visual C++ 6.0的錯誤提示(error)與警告(warning)回到源程序中,逐一對錯誤或警告進行修改,每修改一條就編譯一次。</p><p>  5.3該程序的不足:</p&

32、gt;<p>  生成的可執(zhí)行程序操作界面不美觀,用Microsoft Visual C++ 6.0編寫,未使用標準的Turbor C 2.0中的圖庫,所以不好看,但是這中DOS界面的東西再怎么弄都不好看,強烈建議下學期開課C++。</p><p><b>  6.參考文獻</b></p><p>  1.鄭莉 等編著《C++語言程序設(shè)計(第三版)學生用

33、書》北京: 清華大學出版社</p><p>  2.范輝 等編著《Visual C++6.0程序設(shè)計簡明教程》 高等教育出版社</p><p>  3.嚴蔚敏等 《數(shù)據(jù)結(jié)構(gòu)(c語言版)》 北京:清華大學出版社,1997年4月第1版。</p><p>  4.李春葆 等編著《C++程序設(shè)計學習與上機實驗指導(dǎo)》 北京:清華大學出版社</p><p&

34、gt;  5.李龍澍《C++程序設(shè)計實訓教程》北京:清華大學出版社 </p><p>  6.洪國勝 等編著 《C++ Builder程序設(shè)計輕松上手》北京:清華大學出版社</p><p>  7.胡學鋼等《數(shù)據(jù)結(jié)構(gòu)算法設(shè)計指導(dǎo)》北京:清華大學出版社,1999年 第1版。</p><p><b>  源程序清單</b></p>&

35、lt;p>  #include <stdio.h></p><p>  #include <string.h></p><p>  #include <conio.h></p><p>  #include <stdlib.h></p><p>  #include <iostrea

36、m></p><p>  #define Z 5</p><p>  #define R 4 /*定義宏常量便于程序的一般化*/ /*R表示銷售員個數(shù)*/</p><p>  using namespace std;</p><p>  typedef struct /

37、*縮短結(jié)構(gòu)體變量名*/</p><p>  { int shangpin[Z]; /*定義結(jié)構(gòu)體便于信息的存儲和讀寫,辨別*/ </p><p>  }data;/*R是表示商品的種類,最后一個為該銷售員商品總和*/</p><p>  void menu() </p><p>

38、;  {system("cls");/*清屏命令*/</p><p>  cout<<"\n"<<endl;</p><p>  cout<<"┏━━━━━━━━━━━━主菜單━━━━━━━━━━┓"<<endl;</p><p>  cout&

39、lt;<"┃ 1.計算上個月每個人每種產(chǎn)品的銷售額 ┃"<<endl;</p><p>  cout<<"┃ 2.按銷售額對銷售員進行排序,輸出排序結(jié)果 ┃"<<endl;</p><p>  cout<<"┃ 3.統(tǒng)計每種產(chǎn)品的

40、總銷售額,輸出排序結(jié)果 ┃"<<endl;</p><p>  cout<<"┃ 4.輸出統(tǒng)計報表 ┃"<<endl;</p><p>  cout<<"┃ 5.結(jié)束操作

41、 ┃"<<endl;</p><p>  cout<<"┗━━━━━━━━━━━━━━━━━━━━━━━━━┛"<<endl;</p><p><b>  }</b></p><p>  void f1(data *x) /*計算上個月

42、每個人每種產(chǎn)品的銷售額*/</p><p>  {FILE *fp;</p><p>  char fname[10],hitkey;</p><p>  int j,t; /*用于控制循環(huán)*/</p><p>  int i,k,s; /*用于

43、定義職工序號,產(chǎn)品序號,產(chǎn)品數(shù)量*/</p><p>  system("cls");/*清屏命令*/</p><p>  cout<<"您想計算哪個月?"<<endl;</p><p>  cout<<"請輸入月份:"<<endl; /*輸

44、入文件名,這樣可以進行各個月份信息寫入*/</p><p>  cin>>fname;</p><p>  strcat(fname,".dat");</p><p>  if((fp=fopen(fname,"wb"))==NULL) /*打開文件*/</p><p> 

45、 {cout<<"不能打開文件?。?!"<<endl;</p><p>  exit(0);/* 正常exit(0);結(jié)束程序*/</p><p><b>  }</b></p><p>  for(j=0;j<R;j++) /*對商品數(shù)量

46、清零*/</p><p>  for(t=0;t<Z;t++)</p><p>  (x+j)->shangpin[t]=0;</p><p>  cout<<"請輸入:\n職工編號產(chǎn)品編號銷售數(shù)量"<<endl; /*提示用戶寫入信息的格式*/</p><p> 

47、 for(j=0;hitkey!=27;j++)</p><p>  {cin>>i>>k>>s;</p><p>  if(i>R||i<0||k>Z||k<0) </p><p>  {cout<<"信息錯誤!"<<endl; /*提示語,避免輸入信息

48、出錯*/</p><p><b>  continue;</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  (x+i-1)->shangpin[k-1]=(x+i-1)->shangpin[k-1]+s

49、; /*統(tǒng)計各個人的各種產(chǎn)品的數(shù)量,-1為了和數(shù)組中的序號相匹配*/</p><p>  cout<<"繼續(xù)輸入請按回車,結(jié)束輸入請按esc"<<endl;</p><p>  cout<<"━━━━━━━━━━━━━━━━━━━━━━"<<endl;</p><p

50、>  hitkey=getch();</p><p>  for (;hitkey!=13&&hitkey!=27;)</p><p>  hitkey=getch();</p><p><b>  }</b></p><p>  for(j=0;j<R;j++)</p><

51、;p>  if(fwrite((x+j),sizeof(data),1,fp)!=1) /*把信息寫入文件中便有以后調(diào)用*/</p><p>  cout<<"write error!"<<endl;</p><p>  fclose(fp); /*關(guān)閉文件避免信息遺

52、漏*/</p><p>  cout<<"\n\n\n\n\n\n\t\t\t保存成功,按任意鍵返回主菜單!"<<endl;</p><p><b>  getch();</b></p><p><b>  }</b></p><p>  void f2(

53、data *x) /*按銷售額對銷售員進行排序,輸出排序結(jié)果*/</p><p>  {FILE *fp;</p><p>  char fname[10];</p><p>  int i,k,j,t,bianhao[R]={0},z;</p><p>  system("cls");/*清

54、屏命令*/</p><p>  cout<<"你要哪個月的?"<<endl;</p><p>  cout<<"請輸入月份:"<<endl; /*輸入文件名,這樣可以進行各個月份信息讀入*/</p><p>  cin>>fname;</p>

55、<p>  strcat(fname,".dat");</p><p>  if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/</p><p>  {cout<<"不能打開文件?。。?quot;<<endl;</p><p>

56、<b>  exit(0);</b></p><p><b>  }</b></p><p>  for(i=0;i<R;i++) /*讀出信息*/</p><p>  if(fread(x+i,sizeof(data),1,fp)!=1)</p>&l

57、t;p>  cout<<"讀入信息出錯!"<<endl; /*讀入信息提示*/</p><p>  for(i=0;i<R;) /*用于存儲職工編號*/</p><p>  bianhao[i]=i++;</p><p>  cout<<

58、;"請輸入按何種產(chǎn)品排序"<<endl;</p><p><b>  cin>>k;</b></p><p>  k=k-1; /*便于與結(jié)構(gòu)體中的數(shù)組值對應(yīng)*/</p><p>  for(i=0;i<R;i++)

59、 /*按K種產(chǎn)品對銷售員排序,選擇法排序*/</p><p><b>  {t=i;</b></p><p>  for(j=i+1;j<R;j++)</p><p>  if((x+bianhao[t])->shangpin[k]<(x+bianhao[j])->shangpin[k])/*調(diào)用職工各自對應(yīng)的結(jié)構(gòu)體內(nèi)

60、的產(chǎn)品數(shù)量*/ t=j;</p><p><b>  if(t!=i)</b></p><p>  {z=bianhao[i];</p><p>  bianhao[i]=bianhao[t];</p><p>  bianhao[t]=z;</p><p><b>  }</

61、b></p><p><b>  }</b></p><p>  printf("\t\t\t按%d產(chǎn)品對銷售員排序為:\n",k+1);</p><p>  cout<<"━━━━━━━━━━━━━━━━━━━━━"<<endl;</p><p> 

62、 for(i=0;i<R;i++)</p><p>  printf("\t\t\t第%d名是: 員工%d\n",i+1,bianhao[i]+1);</p><p>  cout<<"\n\n\n\t\t\t按任意鍵返回上一主菜單!"<<endl;</p><p><b>  getc

63、h();</b></p><p>  fclose(fp);/*關(guān)閉讀入的文件*/</p><p><b>  }</b></p><p>  void f3(data *x) /*統(tǒng)計每種產(chǎn)品的總銷售額,輸出排序結(jié)果*/</p><p>  {FILE *fp;</p><

64、;p>  char fname[10];</p><p>  int i,j,sum[Z]={0},bianhao[Z]={0},z,t,k;</p><p>  system("cls");/*清屏命令*/</p><p>  cout<<"您想計算哪個月的?"<<endl;&l

65、t;/p><p>  cout<<"請輸入月份:"<<endl; /*輸入文件名,這樣可以進行各個月份信息讀入*/</p><p>  cin>>fname;</p><p>  strcat(fname,".dat");</p><p>  if((fp=fo

66、pen(fname,"rb"))==NULL) /*打開文件*/</p><p>  {printf("不能打開文件?。?!\n");</p><p><b>  exit(0);</b></p><p><b>  }</b></p><

67、p>  for(i=0;i<R;i++) /*讀出信息*/</p><p>  if(fread(x+i,sizeof(data),1,fp)!=1)</p><p>  printf("讀入信息出錯!");</p><p>  for(i=0;i<Z;i++)

68、 /*對各種商品求和*/</p><p>  for(j=0;j<R;j++)</p><p>  sum[i]=sum[i]+(x+j)->shangpin[i];</p><p>  for(i=0;i<Z;) /*用于存儲商品編號*/</p><p> 

69、 bianhao[i]=i++;</p><p>  for(i=0;i<Z;i++)</p><p>  printf("%3d",bianhao[i]);</p><p>  for(i=0;i<Z;i++) /*對產(chǎn)品從高到低排序,選擇法排序*/</p><p><b>

70、;  {t=i;</b></p><p>  for(j=i+1;j<Z;j++) /*產(chǎn)品變化時,產(chǎn)品編號也隨之變化,便于輸出*/</p><p>  if(sum[t]<sum[j]) </p><p><b>  t=j;</b></p><

71、;p><b>  if(t!=i)</b></p><p>  {k=sum[i];</p><p>  sum[i]=sum[t];</p><p><b>  sum[t]=k;</b></p><p>  z=bianhao[i];</p><p>  bian

72、hao[i]=bianhao[t];</p><p>  bianhao[t]=z;</p><p><b>  }</b></p><p><b>  }</b></p><p>  cout<<"輸出產(chǎn)品排序"<<endl;</p>&l

73、t;p>  cout<<"產(chǎn)品編號 數(shù)量"<<endl;</p><p>  cout<<"━━━━━━━━━━━━━"<<endl;</p><p>  for(i=0;i<Z;i++)</p><p>  printf(" 產(chǎn)品%-7d%-1d\n&q

74、uot;,bianhao[i]+1,sum[i]);</p><p>  cout<<"\n\n\n\t\t\t按任意鍵返回主菜單!"<<endl;</p><p><b>  getch();</b></p><p>  fclose(fp);/*關(guān)閉讀入的文件*/</p>

75、<p><b>  }</b></p><p>  void f4(data *x) /*輸出統(tǒng)計報表*/</p><p>  {FILE *fp;</p><p>  char fname[10];</p><p>  int i,j,sum[Z+1]={0};</p&

76、gt;<p>  system("cls");/*清屏命令*/</p><p>  cout<<"您想計算哪個月?"<<endl;</p><p>  cout<<"請輸入月份:"<<endl; /*實為輸入一個文件名,這樣可以

77、進行各個月份的信息讀入*/</p><p>  cin>>fname;</p><p>  strcat(fname,".dat");</p><p>  if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/</p><p>  {

78、 printf("不能打開文件?。。n");</p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  for(i=0;i<R;i++) /*讀出信息*/</p><

79、;p>  if(fread(x+i,sizeof(data),1,fp)!=1)</p><p>  printf("讀入信息出錯!");</p><p>  for(i=0;i<Z;i++) /*對各種商品求和*/</p><p>  for(j=0;j<R;j++

80、)</p><p>  sum[i]=sum[i]+(x+j)->shangpin[i];</p><p>  for(i=0;i<Z;i++) /*求商品總和*/</p><p>  sum[Z]=sum[Z]+sum[i];</p><p>  cout<<

81、;"━━━━━━━━━━━━━━━━━━━━━━━━━━━"<<endl;</p><p>  cout<<"輸出統(tǒng)計報表如下:"<<endl; /*按要求輸出統(tǒng)計表*/</p><p>  cout<<"銷售員代號 產(chǎn)品代號 銷售之和"<&

82、lt;endl;</p><p>  for(i=0;i<R;i++)</p><p>  for(j=0;j<Z;j++)</p><p>  printf(" 員工%-8d產(chǎn)品%-6d數(shù)量%-10d\n",i+1,j+1,(x+i)->shangpin[j]);</p><p>  cout<&

83、lt;"━━━━━━━━━━━━━━━━━━━━━━━━━━━"<<endl;</p><p>  for(i=0;i<Z;i++)</p><p>  {if(i==0) </p><p>  printf("產(chǎn)品%d之和 %-10d 總和 %-10d\n",i+1,sum[i],sum[Z

84、]);</p><p>  else </p><p>  printf("產(chǎn)品%d之和 %-10d\n",i+1,sum[i]);</p><p><b>  }</b></p><p>  cout<<"\n\n\n\t\t\t按任意鍵返回主菜單!"

85、<<endl;</p><p><b>  getch();</b></p><p><b>  }</b></p><p>  void main()</p><p>  {int i,choice;</p><p>  data sxy[R];

86、 /*R表示職工的個數(shù),前面的宏常量*/</p><p>  cout<<"━━━━━━━━━━━━━━━━━━━━━━━━━"<<endl;</p><p>  cout<<"---------------歡迎進入商品銷售系統(tǒng)!-------------"<<endl;</p><

87、;p>  cout<<"━━━━━━━━━━━━━━━━━━━━━━━━━"<<endl;</p><p>  cout<<"\n\n\n\n\n\n\t\t\t按任意鍵進入主菜單!"<<endl; </p><p><b>  getch();</b></p>

88、<p>  for(i=0;;i++)</p><p>  {system("cls"); /*清屏命令*/</p><p>  menu(); /*主菜單函數(shù)提示用戶怎樣選擇*/</p><p>  cout<<"你想做什么?&quo

89、t;<<endl;</p><p>  cout<<"請選擇:"<<endl; /*輸入要進行的操作*/</p><p>  cin>>choice;</p><p>  if(choice==5) </p><p>  {system(&quo

90、t;cls");/*清屏命令*/</p><p>  cout<<"━━━━━━━━━━━━━━━━━━━━━━━━━"<<endl;</p><p>  cout<<"---------------謝謝使用商品銷售系統(tǒng)!-------------"<<endl;</p>

91、;<p>  cout<<"━━━━━━━━━━━━━━━━━━━━━━━━━"<<endl;</p><p>  cout<<"\n\n\n\t\t按任意鍵退出!謝謝使用"<<endl; </p><p><b>  getch();</b></p>

92、<p>  break; </p><p>  /*退出整個程序*/</p><p><b>  }</b></p><p><b>  else </b></p><p>  switch(choice)</p><p>  {

93、case 1 : f1(sxy); break; /*計算上個月每個人每種產(chǎn)品的銷售額*/</p><p>  case 2 : f2(sxy); break; /*按銷售額對銷售員的銷售情況進行排序,并且輸出排序的結(jié)果*/</p><p>  case 3 : f3(sxy); break; /*統(tǒng)計每種產(chǎn)品的總共得銷售額,并且輸出排序的結(jié)果

溫馨提示

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

評論

0/150

提交評論