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

下載本文檔

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

文檔簡介

1、<p>  《程序設(shè)計語言》課程設(shè)計說明書</p><p><b>  銷售管理系統(tǒng)</b></p><p>  系 、 部: 計算機(jī)與信息科學(xué)系 </p><p>  學(xué)生姓名: </p><p><b>  摘 要</b></

2、p><p>  本設(shè)計主要運用C語言程序設(shè)計中的函數(shù)、結(jié)構(gòu)體、文件、系統(tǒng)函數(shù)等知識點,設(shè)計一個銷售管理系統(tǒng),實現(xiàn)對銷售員和銷售量的處理。</p><p>  關(guān)鍵詞 課程設(shè)計;銷售管理;報表;函數(shù)</p><p><b>  ABSTRACT</b></p><p>  設(shè)計中多次用到了系統(tǒng)函數(shù)system(“pause”

3、)、system(“cls”)。</p><p>  Key words menu; note; xsgl(p); system("cls"); switch; case</p><p><b>  目 錄</b></p><p>  1 設(shè)計目的………………………………………………………………………… &l

4、t;/p><p>  2 設(shè)計內(nèi)容和要求………………………………………………………………… </p><p>  3 設(shè)計思想 ……………………………………………………………………… </p><p>  4 源代碼 …………………………………………………………………………</p><p>  5 實驗結(jié)果 ……………………………

5、…………………………………………</p><p>  6 心得體會 ………………………………………………………………………</p><p>  參考文獻(xiàn) ……………………………………………………………………………</p><p><b>  1 設(shè)計目的</b></p><p>  1.1、通過本程序設(shè)計,培養(yǎng)上機(jī)

6、動手能力,使學(xué)生鞏固《C語言程序設(shè)計》課程學(xué)習(xí)的內(nèi)容,掌握工程軟件設(shè)計的基本方法,強(qiáng)化上機(jī)動手能力,闖過編程關(guān);</p><p>  1.2、為后續(xù)各門計算機(jī)課程的學(xué)習(xí)打下堅實的基礎(chǔ)。</p><p><b>  2 設(shè)計內(nèi)容和要求</b></p><p><b>  1.1、設(shè)計內(nèi)容</b></p><

7、;p>  某公司有四個銷售員(編號:A,B,C,D),負(fù)責(zé)銷售五種產(chǎn)品(編號:1-5)。每個銷售員都將當(dāng)天的產(chǎn)品寫一張便條交上來。每張便條包含內(nèi)容:</p><p><b>  1)銷售員的代碼;</b></p><p>  2)每種產(chǎn)品的代碼和銷售量;</p><p>  假設(shè)收集到了上個月的所有便條,編寫一個處理系統(tǒng),讀取上個月的銷售

8、情況,進(jìn)行如下處理。</p><p>  計算上個月每個人每中產(chǎn)品的銷售量。</p><p>  按銷售量對銷售員進(jìn)行排序,輸出排序結(jié)果(銷售員代碼)。</p><p>  統(tǒng)計每種產(chǎn)品的總銷售量,對這些產(chǎn)品按從高到低的順序,輸出排序結(jié)果(需輸出產(chǎn)品的代碼和銷售量)。</p><p><b>  輸出統(tǒng)計表</b><

9、;/p><p><b>  銷售統(tǒng)計報表</b></p><p><b>  1.2 設(shè)計要求</b></p><p>  1)源程序要有適當(dāng)?shù)淖⑨?,使程序容易閱讀。</p><p>  2)必須使用結(jié)構(gòu)體和文件等管理等數(shù)據(jù)結(jié)構(gòu)。</p><p>  3)程序的運行結(jié)果要求使用文

10、件做備份。</p><p>  4)至少輸出一份報表,鼓勵自行增加新功能。</p><p><b>  3 設(shè)計思想</b></p><p>  設(shè)計不同的函數(shù)模塊,一個模塊一個模塊的實現(xiàn)如下功能</p><p>  設(shè)計主控制菜單程序(menu()函數(shù)),實現(xiàn)菜單選擇模塊。</p><p>  

11、(2)設(shè)計函數(shù),用for語句實現(xiàn)便條內(nèi)容輸入的功能,并用switch語句來選擇函數(shù),實現(xiàn)對便條內(nèi)容的保存輸入、重新輸入、返回上級的功能的選擇。</p><p> ?。?)設(shè)計函數(shù),運用文件,實現(xiàn)便條保存功能,并用switch語句來選擇函數(shù),實現(xiàn)重新輸入、返回上級的功能的選擇。</p><p>  (4)設(shè)計函數(shù),打開所需文件,實現(xiàn)便條導(dǎo)入功能,調(diào)用xsgl(p)函數(shù),進(jìn)入銷售管理菜單界面。

12、</p><p>  設(shè)計函數(shù),建立銷售管理菜單界面,運用switch語句選擇各功能進(jìn)行選擇。</p><p>  設(shè)計函數(shù),輸入正確的銷售員編號,用for語句輸出個人銷售情況,并調(diào)用函數(shù),返回上一級。 </p><p>  設(shè)計函數(shù),用for語句對每個銷售員的月銷售量求和,并用選擇排序法將銷售量和相應(yīng)的銷售員編號按從大到小的順序分別放入到兩個不同的數(shù)組,用for語

13、句輸出查看本月銷售員銷售量排行,最后調(diào)用xsgl(p)函數(shù),返回上一級。</p><p>  設(shè)計函數(shù),用for語句將每種產(chǎn)品的銷售總量和相應(yīng)的產(chǎn)品編號經(jīng)選擇排序后存放到兩個數(shù)組中,用for語句輸出本月產(chǎn)品銷售量排行,最后調(diào)用函數(shù),返回上一級。</p><p>  設(shè)計函數(shù),用for語句輸出每個銷售員每種產(chǎn)品的銷售量,并用for語句輸出每種產(chǎn)品和總的銷售產(chǎn)品的銷售量,輸出本月銷售報表。最后

14、調(diào)用函數(shù),返回菜單功能。</p><p>  其中還運用到了系統(tǒng)函數(shù)system(“pause”)、system(“cls”)(清屏),結(jié)構(gòu)體數(shù)組的建立與存取。</p><p><b>  4 源代碼</b></p><p>  #include<stdio.h></p><p>  #include<

15、;stdlib.h></p><p>  typedef struct note</p><p>  { char sailer;</p><p>  int count[6];</p><p>  }note;/*定義便條結(jié)構(gòu)體*/</p><p>  void menu();/*菜單界面*/</p>

16、;<p>  void putinnote();/*輸入便條功能*/</p><p>  void savefile(note p);/*保存便條功能*/</p><p>  void putoutnote();/*導(dǎo)入便條功能*/</p><p>  void xsgl(note *p);/*銷售管理菜單界面*/</p><p&g

17、t;  void showone(note *p);/*查看個人銷售情況*/</p><p>  void showrenpaihang(note *p);/*查看本月銷售員銷售量排行*/</p><p>  void showwupaihang(note *p);/*查看本月產(chǎn)品銷售量排行*/</p><p>  void showform(note *p);/*

18、輸出本月銷售報表*/</p><p><b>  /*菜單界面*/</b></p><p>  void menu()</p><p><b>  { int i;</b></p><p>  printf("\t**************************************

19、*****************\n\n\n"); </p><p>  printf("\t***************歡迎使用銷售管理系統(tǒng)******************\n\n\n");</p><p>  printf("\t*******************************************************

20、*\n\n");</p><p>  printf("\t\t************請選擇功能*************\n\n");</p><p>  printf("\t\t1.輸入便條內(nèi)容\n\n");</p><p>  printf("\t\t2.銷售管理\n\n");</p&

21、gt;<p>  printf("\t\t3.退出系統(tǒng)\n\n");</p><p>  printf("\t\t請輸入功能數(shù)字:");</p><p>  scanf("%d",&i);</p><p>  system("cls");</p>&l

22、t;p><b>  switch(i)</b></p><p>  { case 1:putinnote();break;</p><p>  case 2:putoutnote(); break;</p><p>  default:menu();break;</p><p><b>  }</b

23、></p><p><b>  }</b></p><p>  /*輸入便條功能*/</p><p>  void putinnote()</p><p><b>  { note p;</b></p><p><b>  int i,j;</b>

24、</p><p>  printf("\n\t請輸入銷售員代號:\n");</p><p>  scanf("%c",&p.sailer);</p><p>  while(p.sailer<'A'||p.sailer>'D')</p><p>  {

25、 printf("\t代號為A-D,請重新輸入:");</p><p>  scanf("%c",&p.sailer);</p><p>  printf("\n\n");</p><p><b>  }</b></p><p>  p.count[0]

26、=0;</p><p>  for(i=1;i<=5;++i)</p><p>  { printf("\t請輸入第%d種產(chǎn)品銷售數(shù)量:",i);</p><p>  scanf("%d",&p.count[i]);</p><p>  p.count[0]+=p.count[i];<

27、;/p><p><b>  }</b></p><p>  printf("\n\n");</p><p>  printf("\t**********1.保存輸入**********\n\n");</p><p>  printf("\t**********2.重新輸入**

28、********\n\n");</p><p>  printf("\t**********3.返回上級**********\n\n");</p><p>  scanf("%d",&j);</p><p>  system("cls");</p><p><

29、b>  switch(j)</b></p><p>  { case 1:savefile(p);break;</p><p>  case 2:putinnote();break;</p><p>  case 3:menu();break;</p><p><b>  }</b></p>

30、<p><b>  }</b></p><p><b>  /*保存便條*/</b></p><p>  void savefile(note p)</p><p>  { FILE *fp;</p><p><b>  int i;</b></p>

31、<p>  char filename[20];</p><p>  printf("請輸入要保存到的文件名:");</p><p>  scanf("%s",&filename);</p><p>  fp=fopen(filename,"a");</p><p&g

32、t;  if(fwrite(&p,sizeof(p),1,fp))</p><p>  {fclose(fp);</p><p>  printf("********************1.重新輸入********************\n\n");</p><p>  printf("******************

33、**2.返回上級********************\n");</p><p>  scanf("%d",&i);</p><p>  system("cls");</p><p><b>  switch(i)</b></p><p>  {case 1:p

34、utinnote();break;</p><p>  case 2:menu();break;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  fclos

35、e(fp);</p><p><b>  } </b></p><p>  /*導(dǎo)入便條功能*/</p><p>  void putoutnote()</p><p>  { char filename[20];</p><p>  note p[5],outbt;</p><

36、;p><b>  FILE *fp;</b></p><p>  int c,i,j;</p><p>  for(j=0;j<5;++j)</p><p>  { for(i=0;i<6;++i)</p><p>  p[j].count[i]=0;</p><p><b

37、>  }</b></p><p>  printf("請輸入便條文件:");</p><p>  scanf("%s",&filename);</p><p>  fp=fopen(filename,"r");</p><p><b>  if(!

38、fp) </b></p><p>  { printf("請輸入正確的便條文件:");</p><p>  scanf("%s",&filename);</p><p>  fp=fopen(filename,"r");</p><p><b>  }&

39、lt;/b></p><p>  c=fgetc(fp);</p><p>  while(c!=-1)</p><p>  { fseek(fp,-1L,1);</p><p>  fread(&outbt,sizeof(outbt),1,fp);</p><p>  i=outbt.sailer-&#

40、39;A'+1;</p><p>  for(j=0;j<6;++j)</p><p>  p[i].count[j]+=outbt.count[j];</p><p>  c=fgetc(fp);</p><p><b>  }</b></p><p>  fclose(fp);&

41、lt;/p><p>  system("cls");</p><p><b>  xsgl(p);</b></p><p><b>  }</b></p><p>  /*銷售管理菜單界面*/</p><p>  void xsgl(note *p)</

42、p><p><b>  { int i;</b></p><p>  printf("\t*********************銷售管理菜單**********************\n\n");</p><p>  printf("\t---------------1.查看個人銷售情況-------------

43、---------\n\n");</p><p>  printf("\t---------------2.查看本月銷售員銷售量排行--------------\n\n");</p><p>  printf("\t---------------3.查看本月產(chǎn)品銷售量排行----------------\n\n");</p>

44、<p>  printf("\t---------------4.輸出本月銷售報表----------------------\n\n");</p><p>  printf("\t---------------5.返回主菜單----------------------------\n\n");</p><p>  printf("

45、;\t---------------6.退出系統(tǒng)------------------------------\n\n");</p><p>  printf("\t*******************************************************\n\n");</p><p>  printf("\n\t請輸入您想要進(jìn)行的

46、操作:");</p><p>  scanf("%d",&i);</p><p>  system("cls");</p><p><b>  switch(i)</b></p><p>  {case 1:showone(p);break;</p>

47、<p>  case 2:showrenpaihang(p);break;</p><p>  case 3:showwupaihang(p);break;</p><p>  case 4:showform(p);break;</p><p>  case 5:menu();break;</p><p>  default:xs

48、gl(p);</p><p><b>  }</b></p><p><b>  }</b></p><p>  /*查看個人銷售情況*/</p><p>  void showone(note *p)</p><p><b>  { char c;</b&g

49、t;</p><p><b>  int i,j;</b></p><p>  printf("請輸入想查看的銷售員代號:");</p><p>  scanf("%c",&c);</p><p>  while(c<'A'||c>'D&

50、#39;)</p><p>  { printf("當(dāng)前只有A-D四位銷售員,請重新輸入:");</p><p>  scanf("%c",&c);</p><p><b>  }</b></p><p>  i=c-'A'+1;</p>&l

51、t;p>  printf("\n本月銷售員銷量排行如下:\n\n");</p><p>  printf("編號為%c的銷售員本月銷售業(yè)績?yōu)?\n\n",c);</p><p>  for(j=1;j<=5;++j)</p><p>  printf("%d號產(chǎn)品銷售量為:%d(件)\n\n",

52、j,p[i].count[j]);</p><p>  printf("\n***************按任意鍵返回****************\n");</p><p>  system("pause");</p><p>  system("cls");</p><p>&

53、lt;b>  xsgl(p);</b></p><p><b>  }</b></p><p>  /*查看本月銷售員銷售量排行*/</p><p>  void showrenpaihang(note *p)</p><p>  { int i,j,shu[4],temp;</p>&l

54、t;p>  char man[4],func;</p><p>  for(i=0;i<5;++i)</p><p>  { shu[i]=p[i+1].count[0];</p><p>  man[i]='A'+i;</p><p><b>  }</b></p><p

55、>  for(i=0;i<4;++i)</p><p>  { for(j=i;j<4;++j)</p><p>  { if(shu[i]<=shu[j])</p><p>  { temp=shu[i];</p><p>  func= man[i];</p><p>  shu[i]=sh

56、u[j];</p><p>  man[i]= man[j];</p><p>  shu[j]=temp;</p><p>  man[j]=func;</p><p><b>  }</b></p><p><b>  }</b></p><p>

57、<b>  }</b></p><p>  for(i=0;i<4;++i)</p><p>  printf("第%d名: 代號為%c 銷售總量為:%d\n",i+1, man[i],shu[i]);</p><p>  printf("\n");</p><p>  

58、printf("\n***************按任意鍵返回***************\n\n");</p><p>  system("pause");</p><p>  system("cls");</p><p><b>  xsgl(p);</b></p>

59、<p><b>  }</b></p><p>  /*查看本月產(chǎn)品銷售量排行*/</p><p>  void showwupaihang(note *p)</p><p>  { int shu[5],i,j,hao[5],temps,temph;</p><p>  for(i=0;i<5;++i

60、)</p><p>  { shu[i]=0;</p><p>  hao[i]=i+1;</p><p><b>  }</b></p><p>  for(i=1;i<6;++i)</p><p>  { for(j=1;j<5;++j)</p><p> 

61、 shu[i-1]+=p[j].count[i];</p><p><b>  }</b></p><p>  for(i=0;i<5;++i)</p><p>  { for(j=i;j<5;++j)</p><p>  { if(shu[i]<=shu[j])</p><p>

62、;  { temps=shu[i];</p><p>  temph=hao[i];</p><p>  shu[i]=shu[j];</p><p>  hao[i]=hao[j];</p><p>  shu[j]=temps;</p><p>  hao[j]=temph;</p><p>

63、;<b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  printf("本月各產(chǎn)品銷售排行如下:\n\n");</p><p>  for(i=0;i<5;++i)</p>

64、;<p>  printf("第%d名: %d號產(chǎn)品 銷售量為:%d\n",i+1,hao[i],shu[i]);</p><p>  printf("\n");</p><p>  printf("\n***************按任意鍵返回***************\n\n");</p>

65、<p>  system("pause");</p><p>  system("cls");</p><p><b>  xsgl(p);</b></p><p><b>  }</b></p><p>  /*輸出本月銷售報表*/</p&g

66、t;<p>  void showform(note *p)</p><p>  { int sum[6],i,j;</p><p>  for(i=0;i<6;++i)</p><p><b>  sum[i]=0;</b></p><p>  for(i=1;i<6;++i)</p&g

67、t;<p>  { for(j=1;j<5;++j)</p><p>  { sum[i-1]+=p[j].count[i];</p><p>  sum[5]+=p[j].count[i];</p><p><b>  }</b></p><p><b>  }</b><

68、/p><p>  printf("本月銷售報表如下:\n\n");</p><p>  printf("\n\n 銷售員代號\t 1\t 2\t 3\t 4\t 5\t每人銷售產(chǎn)品總量\n");</p><p>  printf("-------------------------------------------

69、---------------------\n");</p><p>  for(i=1;i<5;++i)</p><p>  printf("\t%c\t%3d\t %3d\t %3d\t %3d\t %3d\t %3d\n",'A'+i-1,p[i].count[1],p[i].count[2],p[i].count[3],p[i].

70、count[4],p[i].count[5],p[i].count[0]);</p><p>  printf(" 每種產(chǎn)品\n 銷售總量\t");</p><p>  for(i=0;i<=5;i++)</p><p>  printf("%d \t",sum[i]);</p><p> 

71、 printf("\n\n------------------------按任意鍵返回-------------------------\n");</p><p>  system("pause");</p><p>  system("cls");</p><p><b>  xsgl(p);&

72、lt;/b></p><p><b>  }</b></p><p><b>  main()</b></p><p><b>  { menu();</b></p><p>  system("pause");</p><p>

73、;  system("cls"); </p><p><b>  } </b></p><p><b>  5實驗結(jié)果</b></p><p><b>  圖5.1 菜單界面</b></p><p>  圖5.2 輸入便條功能</p><

74、;p><b>  圖5.3 銷售報表</b></p><p><b>  6心得體會</b></p><p>  經(jīng)過本次C語言課程設(shè)計實踐學(xué)習(xí),我對c語言有了更進(jìn)一步的認(rèn)識和了解。通過實踐,發(fā)現(xiàn)自己對程序的輸入、運算類型(邏輯運算、自增自減運算、賦值運算等)、程序結(jié)構(gòu)(順序結(jié)構(gòu)、判斷選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu))和函數(shù)、文件的使用的還不夠熟練,對c

75、語言的一些標(biāo)準(zhǔn)庫函數(shù)、c語言中經(jīng)常出現(xiàn)的錯誤不太了解,通過實踐,我在這幾個方面的認(rèn)識有所提高。</p><p>  要學(xué)好c語言程序這門課程,不僅要認(rèn)真閱讀課本知識,更重要的是要通過上機(jī)實踐來增強(qiáng)和鞏固所學(xué)知識。因為實踐重于理論!</p><p><b>  參考文獻(xiàn)</b></p><p> ?。郏保萸『?#183;合孜爾.C語言程序設(shè)計[第

溫馨提示

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

評論

0/150

提交評論