2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  C語言課程設(shè)計(jì)</b></p><p>  題 目 商品銷售系統(tǒng)</p><p><b>  目 錄</b></p><p>  1設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求…………………………………… 1</p><p>  1.1系統(tǒng)功能簡(jiǎn)介………………………

2、……………… 1 </p><p>  1.2系統(tǒng)運(yùn)行環(huán)境 ………………………………………1</p><p>  2功能劃分,模塊詳細(xì)說明 ………………………………1</p><p>  3程序流程圖 ………………………………………………1</p><p>  4運(yùn)行的運(yùn)行及說明 …………………………………

3、……2</p><p>  4.1系統(tǒng)的運(yùn)行 …………………………………………2</p><p>  4.2運(yùn)行說明…………………………………………… 4</p><p>  5總結(jié) ………………………………………………………5</p><p>  附件:源程序清單……………………………………………5</p><p>

4、  1設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求</p><p><b>  1.1系統(tǒng)功能簡(jiǎn)介</b></p><p>  系統(tǒng)有簡(jiǎn)單的菜單界面,用戶可以通過輸入簡(jiǎn)單的選項(xiàng)來完成相應(yīng)的工作。</p><p>  選定一種產(chǎn)品,按銷售額的順序?qū)︿N售員進(jìn)行排序,輸出排序結(jié)果。</p><p>  統(tǒng)計(jì)每種產(chǎn)品的總銷售額,輸出排序結(jié)果。</p

5、><p><b>  輸出統(tǒng)計(jì)報(bào)表。</b></p><p><b>  1.2系統(tǒng)運(yùn)行環(huán)境</b></p><p>  Vc++6.0下運(yùn)行,硬件基本無要求,現(xiàn)在的計(jì)算機(jī)系統(tǒng)基本都可以運(yùn)行該系統(tǒng)。</p><p>  2功能劃分,模塊詳細(xì)說明</p><p>  系統(tǒng)的功能是通

6、過子函數(shù)調(diào)用的方式來完成的,下面對(duì)程序中用到的函數(shù)及其功能做一下說明。</p><p>  void menu():顯示主菜單界面。</p><p>  void data_count(data *x):以寫方式打開文件,對(duì)商品信息清零,讀入職工編號(hào)、產(chǎn)品編號(hào)、銷售量等信息,對(duì)相同職工的相同產(chǎn)品的銷售量求和后寫入文件。</p><p>  void range_sx

7、y(data *x):以讀方式打開文件,讀入信息,輸入按何種產(chǎn)品排序后對(duì)存儲(chǔ)職工編號(hào)的數(shù)組進(jìn)行排序,最后輸出新序的職工編號(hào)信息。</p><p>  void range_shangpin(data *x):從文件讀入信息,對(duì)每項(xiàng)產(chǎn)品的銷售量求和,按每項(xiàng)產(chǎn)品的總銷售量排序。</p><p>  void data_out(data *x):打開文件,讀入信息,求所有產(chǎn)品的銷售量的和,輸出統(tǒng)

8、計(jì)表。</p><p>  void main():主函數(shù),調(diào)用以上函數(shù),完成相應(yīng)功能。</p><p><b>  3程序流程圖</b></p><p>  程序整體流程圖如圖3-1所示:</p><p><b>  圖3-1整體流程圖</b></p><p><b&

9、gt;  4系統(tǒng)的運(yùn)行及說明</b></p><p><b>  4.1系統(tǒng)的運(yùn)行</b></p><p>  系統(tǒng)初始運(yùn)行時(shí),會(huì)顯示如圖4-1所示的菜單界面,用戶可以根據(jù)提示,進(jìn)行相應(yīng)的選擇,來完成系統(tǒng)提供的各種功能。</p><p><b>  圖4-1輸入界面</b></p><p&g

10、t;  當(dāng)選擇1時(shí),系統(tǒng)調(diào)用函數(shù)void data_count(data *x),完成相應(yīng)的功能。運(yùn)行界面如圖4-2所示,系統(tǒng)會(huì)要求用戶輸入月份,然后要求輸入這個(gè)月份中是哪個(gè)職工銷售的哪項(xiàng)產(chǎn)品的數(shù)量的具體信息,我們的系統(tǒng)假設(shè)有四個(gè)職工,職工編號(hào)從1至4,一共有5項(xiàng)產(chǎn)品,產(chǎn)品編號(hào)從1至5。職工和產(chǎn)品的數(shù)目都可以更改,只要修改一下程序中的宏定義語句即可。</p><p>  圖4-2計(jì)算產(chǎn)品銷售額界面</p&g

11、t;<p>  當(dāng)選擇2時(shí),系統(tǒng)調(diào)用void range_sxy(data *x),完成相應(yīng)部分的功能。運(yùn)行界面如圖4-3所示,系統(tǒng)會(huì)要求用戶輸入月份,然后排序的產(chǎn)品編號(hào),最后給出此項(xiàng)產(chǎn)品的按照銷售量的大小進(jìn)行的銷售員的編號(hào)的排序情況。</p><p>  圖4-3按銷售額對(duì)銷售員排序的界面</p><p>  當(dāng)選擇3時(shí),系統(tǒng)調(diào)用void range_shangpin(da

12、ta *x),完成對(duì)每項(xiàng)商品的總銷售量排序的功能,運(yùn)行界面如圖4-4所示:</p><p>  圖4-4產(chǎn)品總銷售額排序界面</p><p>  當(dāng)選擇4時(shí),系統(tǒng)調(diào)用void data_out(data *x),完成輸出統(tǒng)計(jì)表的功能,統(tǒng)計(jì)內(nèi)容如圖4-5所示:</p><p>  圖4-5統(tǒng)計(jì)報(bào)表界面</p><p><b>  4.

13、2運(yùn)行說明</b></p><p>  首次打開系統(tǒng)必須輸入一部分員工信息,如果沒有員工信息文件,除了輸入功能以外,其它的功能將自動(dòng)禁止, 按任意鍵退出程序。</p><p>  輸入時(shí),按照提示陸續(xù)輸入每個(gè)員工的單個(gè)信息,輸入完畢,選擇“0”,程序?qū)⒆詣?dòng)回到菜單選擇界面。</p><p>  其它的功能模塊都在執(zhí)行程序時(shí)有相應(yīng)的提示,非常容易操作。&l

14、t;/p><p><b>  5總結(jié)</b></p><p>  通過這次實(shí)習(xí),讓我們初步有了編寫系統(tǒng)的能力,我們對(duì)很多的函數(shù)有了新的認(rèn)識(shí),也學(xué)會(huì)了運(yùn)用多種函數(shù),也明白了編寫軟件的基本過程,和基本方法。編寫軟件的過程中我們又學(xué)到了曾經(jīng)自己不知道的函數(shù)或是自己不會(huì)的函數(shù)的用法。這次課程設(shè)計(jì)課總的來說讓我受益匪淺。</p><p>  在軟件的設(shè)計(jì)過程

15、中遇到了很多的困難。在軟件一次一次的調(diào)試失敗下,曾經(jīng)想過要放棄。我最后還是讓自己堅(jiān)持了下來,毫不畏懼困難,在同學(xué)的幫助與講解下我總算是順利的完成了軟件的設(shè)計(jì)。</p><p>  在程序的編寫過程中我們發(fā)現(xiàn)有很多的知識(shí)漏洞和缺陷,需要進(jìn)一步努力學(xué)習(xí)來完善自己。</p><p>  在這幾天的編寫過程中我們對(duì)c語言有了更進(jìn)一步的認(rèn)識(shí)和了解。此次編程過程的經(jīng)驗(yàn)和知識(shí)肯定能促進(jìn)我以后的學(xué)習(xí)。&l

16、t;/p><p>  此次課程設(shè)計(jì)不僅給了我們很多很好的經(jīng)驗(yàn),也讓我們體會(huì)到了失敗時(shí)的焦急和難受,也體會(huì)到了成功時(shí)的興奮與喜悅。</p><p><b>  附件:源程序清單</b></p><p>  #include <stdio.h></p><p>  #include <string.h>&

17、lt;/p><p>  #include <conio.h></p><p>  #include <stdlib.h></p><p>  #define Z 5</p><p>  #define R 4 /*定義宏常量便于程序的一般化*/ /*R表示銷售員個(gè)數(shù)*/</p><p>

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

19、;/b></p><p>  void menu()</p><p>  { printf(" *******************************************************\n");</p><p>  printf(" 0.結(jié)束操作\n");</p&g

20、t;<p>  printf(" 1.計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷售額\n");</p><p>  printf(" 2.按銷售額對(duì)銷售員進(jìn)行排序,輸出排序結(jié)果\n");</p><p>  printf(" 3.統(tǒng)計(jì)每種產(chǎn)品的總銷售額,輸出排序結(jié)果\n");&

21、lt;/p><p>  printf(" 4.輸出統(tǒng)計(jì)報(bào)表\n");</p><p>  printf(" ******************************************************\n");</p><p><b>  }</b></p>

22、<p>  void data_count(data *x) /*計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷售額*/</p><p><b>  {</b></p><p><b>  FILE *fp;</b></p><p>  char fname[10];</p><p> 

23、 int j,t; /*用于控制循環(huán)*/</p><p>  int i,k,s; /*用于定義職工序號(hào),產(chǎn)品序號(hào),產(chǎn)品數(shù)量*/</p><p>  system("cls");</p><p>  printf("您想計(jì)算哪個(gè)月?\n");</p><p>  printf

24、("請(qǐng)輸入月份:"); /*輸入文件名,這樣可以進(jìn)行各個(gè)月份信息寫入*/</p><p>  scanf("%s",fname);</p><p>  strcat(fname,".txt");</p><p>  if((fp=fopen(fname,"wb"))==NULL)

25、 /*打開文件*/</p><p><b>  {</b></p><p>  printf("can not open the file\n");</p><p><b>  exit(0);</b></p><p><b>  

26、}</b></p><p>  for(j=0;j<R;j++) /*對(duì)商品數(shù)量清零*/</p><p>  for(t=0;t<Z;t++)</p><p>  (x+j)->shangpin[t]=0;</p><p>  printf("please put

27、the information about the 職工編號(hào),產(chǎn)品編號(hào),銷售數(shù)量\n"); /*寫入信息*/</p><p>  for(j=0;;j++)</p><p><b>  {</b></p><p>  scanf("%d%d%d",&i,&k,&s);</p>

28、;<p>  if(i==0) /*輸入職工為0時(shí)結(jié)束信息輸入*/</p><p><b>  break;</b></p><p>  if(i>R||i<0||k>Z||k<0) </p><p><b>  {</b></p>&

29、lt;p>  printf("the information error!\n"); /*避免輸入信息出錯(cuò)*/</p><p><b>  continue;</b></p><p><b>  }</b></p><p><b>  else</b><

30、;/p><p>  (x+i-1)->shangpin[k-1]=(x+i-1)->shangpin[k-1]+s;/*統(tǒng)計(jì)各個(gè)人的各種產(chǎn)品的數(shù)量,-1為了和數(shù)組中的序號(hào)相匹配*/</p><p><b>  }</b></p><p>  for(j=0;j<R;j++)</p><p>  if(fwr

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

32、><p>  void range_sxy(data *x) /*按銷售額對(duì)銷售員進(jìn)行排序,輸出排序結(jié)果*/</p><p><b>  {</b></p><p><b>  FILE *fp;</b></p><p>  char fname[10];</p><p>

33、  int i,k,j,t,bianhao[R]={0},z;</p><p>  system("cls");</p><p>  printf("你要哪個(gè)月的?\n");</p><p>  printf("請(qǐng)輸入月份:"); /*輸入文件名,這樣可以進(jìn)行各個(gè)月份信息讀入*/</p>

34、<p>  scanf("%s",fname);</p><p>  strcat(fname,".txt");</p><p>  if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/</p><p><b>  

35、{</b></p><p>  printf("can not open the file\n");</p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  for(i=0;i<R;i++)

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

37、 /*用于存儲(chǔ)職工編號(hào)*/</p><p>  bianhao[i]=i++;</p><p>  printf("請(qǐng)輸入按何種產(chǎn)品排序\n");</p><p>  scanf("%d",&k);</p><p>  k=k-1; /

38、*便于與結(jié)構(gòu)體中的數(shù)組值對(duì)應(yīng)*/</p><p>  for(i=0;i<R;i++) /*按K種產(chǎn)品對(duì)銷售員排序,選擇法排序*/</p><p><b>  {</b></p><p><b>  t=i;</b></p><p>  for(j=i+1;j<R;j+

39、+)</p><p>  if((x+bianhao[t])->shangpin[k]<(x+bianhao[j])->shangpin[k])/*調(diào)用職工各自對(duì)應(yīng)的結(jié)構(gòu)體內(nèi)的產(chǎn)品數(shù)量*/</p><p><b>  t=j;</b></p><p><b>  if(t!=i)</b></p>

40、;<p><b>  {</b></p><p>  z=bianhao[i];</p><p>  bianhao[i]=bianhao[t];</p><p>  bianhao[t]=z;</p><p><b>  }</b></p><p><b

41、>  }</b></p><p>  printf("按%d產(chǎn)品對(duì)銷售員排序?yàn)?\n",k+1);</p><p>  for(i=0;i<R;i++)</p><p>  printf("%5d",bianhao[i]+1);</p><p><b>  getch(

42、);</b></p><p>  fclose(fp);</p><p><b>  }</b></p><p>  void range_shangpin(data *x) /*統(tǒng)計(jì)每種產(chǎn)品的總銷售額,輸出排序結(jié)果*/</p><p><b>  {</b></p>

43、<p><b>  FILE *fp;</b></p><p>  char fname[10];</p><p>  int i,j,sum[Z]={0},bianhao[Z]={0},z,t,k;</p><p>  system("cls");</p><p>  printf(&qu

44、ot;您想計(jì)算哪個(gè)月的?\n");</p><p>  printf("請(qǐng)輸入月份:"); /*輸入文件名,這樣可以進(jìn)行各個(gè)月份信息讀入*/</p><p>  scanf("%s",fname);</p><p>  strcat(fname,".txt");</p><p

45、>  if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/</p><p><b>  {</b></p><p>  printf("can not open the file\n");</p><p><b>  

46、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

47、t;p>  printf("讀入信息出錯(cuò)!");</p><p>  for(i=0;i<Z;i++) /*對(duì)各種商品求和*/</p><p>  for(j=0;j<R;j++)</p><p>  sum[i]=sum[i]+(x+j)->shangpin[i];</p><p&g

48、t;  for(i=0;i<Z;) /*用于存儲(chǔ)商品編號(hào)*/</p><p>  bianhao[i]=i++;</p><p>  for(i=0;i<Z;i++)</p><p>  printf("%3d",bianhao[i]);</p><p>  for(i=0;i&

49、lt;Z;i++) /*對(duì)產(chǎn)品從高到低排序,選擇法排序*/</p><p><b>  {</b></p><p><b>  t=i;</b></p><p>  for(j=i+1;j<Z;j++) /*產(chǎn)品變化時(shí),產(chǎn)品編號(hào)也隨之變化,便于輸出*/</p><p>

50、;  if(sum[t]<sum[j]) </p><p><b>  t=j;</b></p><p><b>  if(t!=i)</b></p><p><b>  {</b></p><p><b>  k

51、=sum[i];</b></p><p>  sum[i]=sum[t];</p><p><b>  sum[t]=k;</b></p><p>  z=bianhao[i];</p><p>  bianhao[i]=bianhao[t];</p><p>  bianhao[t]

52、=z;</p><p><b>  }</b></p><p><b>  }</b></p><p>  printf("輸出產(chǎn)品排序\n");</p><p>  printf("產(chǎn)品編號(hào) 數(shù)量\n");</p><p>  fo

53、r(i=0;i<Z;i++)</p><p>  printf("%-10d%-10d\n",bianhao[i]+1,sum[i]);</p><p><b>  getch();</b></p><p>  fclose(fp);</p><p><b>  }</b>

54、</p><p>  void data_out(data *x) /*輸出統(tǒng)計(jì)報(bào)表*/</p><p><b>  {</b></p><p><b>  FILE *fp;</b></p><p>  char fname[10];</p><p>  int

55、i,j,sum[Z+1]={0};</p><p>  system("cls");</p><p>  printf("您想計(jì)算哪個(gè)月?\n");</p><p>  printf("請(qǐng)輸入月份:"); /*輸入文件名,這樣可以進(jìn)行各個(gè)月份信息讀入*/</p><p>  sc

56、anf("%s",fname);</p><p>  strcat(fname,".txt");</p><p>  if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/</p><p><b>  {</b>&l

57、t;/p><p>  printf("can not open the file\n");</p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  for(i=0;i<R;i++)

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

59、 for(j=0;j<R;j++)</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>  print

60、f("輸出統(tǒng)計(jì)報(bào)表如下:\n"); /*按要求輸出統(tǒng)計(jì)表*/</p><p>  printf("產(chǎn)品代號(hào) 銷售之和 銷售員代號(hào)\n");</p><p>  for(i=0;i<R;i++)</p><p>  for(j=0;j<Z;j++)</p><p>  pr

61、intf("%-10d%-10d%-10d\n",j+1,(x+i)->shangpin[j],i+1);</p><p>  printf("***********************************\n");</p><p>  for(i=0;i<Z;i++)</p><p><b> 

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

63、printf("%d產(chǎn)品之和 %-10d\n",i+1,sum[i]);</p><p><b>  }</b></p><p><b>  getch();</b></p><p><b>  }</b></p><p>  void main()<

64、/p><p><b>  {</b></p><p>  int i,choice;</p><p>  data sxy[R]; /*R表示職工的個(gè)數(shù),前面的宏常量*/</p><p>  for(i=0;;i++)</p><p><b>  {</b&

65、gt;</p><p>  system("cls"); /*清頻命令*/</p><p>  menu(); /*菜單函數(shù)提示用戶怎樣選擇*/</p><p>  printf("你想做什么?\n");</p>

66、<p>  printf("請(qǐng)選擇:"); /*輸入要進(jìn)行的操作*/</p><p>  scanf("%d",&choice);</p><p>  if(choice==0) /*退出程序*/</p><p&

67、gt;<b>  break;</b></p><p><b>  else</b></p><p>  switch(choice)</p><p><b>  {</b></p><p>  case 1 : data_count(sxy);break; /*計(jì)算上個(gè)月每個(gè)

68、人每種產(chǎn)品的銷售額*/</p><p>  case 2 : range_sxy(sxy);break; /*按銷售額對(duì)銷售員進(jìn)行排序,輸出排序結(jié)果*/</p><p>  case 3 : range_shangpin(sxy);break; /*統(tǒng)計(jì)每種產(chǎn)品的總銷售額,輸出排序結(jié)果*/</p><p>  case 4 : data_out(sxy);brea

溫馨提示

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

評(píng)論

0/150

提交評(píng)論