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

下載本文檔

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

文檔簡介

1、<p>  計算機技術(shù)基礎(chǔ)課程設(shè)計</p><p><b>  C語言</b></p><p><b>  設(shè)計報告</b></p><p>  題目:花店經(jīng)營管理系統(tǒng)</p><p><b>  一.選題背景</b></p><p>  本例

2、實現(xiàn)了一個花店經(jīng)營的管理系統(tǒng),在經(jīng)營的過程中,必需對花的庫存量,銷售量,剩余量以及花的種類,單價,顏色,名字等,有系統(tǒng)的管理。本程序定義了一個結(jié)構(gòu)數(shù)組,并運用了一個主函數(shù)調(diào)用五個函數(shù)以實現(xiàn)整個花店的經(jīng)營和管理。</p><p><b>  二.設(shè)計思想:</b></p><p>  編程思路:首先在程序開始處,引入了頭文件,可以直接調(diào)用函數(shù),然后對花的種類和五項命令進(jìn)

3、行了宏定義,接著枚舉類型定義了花的顏色,定義了結(jié)構(gòu)體數(shù)組,并且編寫了”enter_data()”,”put_data()”,“buy()”,”find()”,”changecmd()”五個子函數(shù),最后在mian函數(shù)的內(nèi)部對各個子函數(shù)進(jìn)行調(diào)用,實現(xiàn)綜合管理。 </p><p>  三.主要解決問題的方法及技術(shù)關(guān)鍵:</p><p>  1.運用指針定

4、義了五項命令,分別指向五個函數(shù),便于調(diào)用。</p><p>  2.運用了for, if---else---if, while, switch---case用來控制程序的流程。</p><p><b>  主函數(shù)流程圖</b></p><p><b>  是</b></p><p><

5、b>  否</b></p><p><b>  Buy()流程圖</b></p><p>  Put()流程圖 </p><p>  Enter()流程圖</p><p><b>  , </b></p><p><b>  五.程序清單&l

6、t;/b></p><p>  #include "stdio.h"</p><p>  #include "stdlib.h"</p><p>  #include "string.h"</p><p>  #include "dos.h"</p&g

7、t;<p>  #define SIZE 8</p><p>  #define CMDSIZE 5</p><p>  typedef enum /*枚舉類型定義*/</p><p><b>  {</b></p><p>  red,white,yellow,purple,orange</p

8、><p><b>  }COLOR;</b></p><p>  typedef struct /*結(jié)構(gòu)體定義*/</p><p><b>  {</b></p><p>  char name[20]; </p><p>  COLOR color;</p>

9、<p>  float rate;</p><p>  int amount;</p><p><b>  }FLOWER;</b></p><p>  char *Dcmd[]={"buy","put","look","find","help&

10、quot;}; </p><p>  /*定義了5項命令的指針類型*/</p><p>  void enter_data(FLOWER flower[]); /*定義庫存輸入函數(shù)*/</p><p>  float buy(FLOWER flower[]); /*定義銷售函數(shù)*/</p><p>  void put_data(FLOWE

11、R flower[]); /*定義庫存輸出函數(shù)*/</p><p>  void findflower(FLOWER flower[]);/*定義查詢函數(shù)*/</p><p>  int changecmd(char cmd[]);/*定義命令解釋函數(shù)*/</p><p>  void main()</p><p><b>  {&

12、lt;/b></p><p>  FLOWER flower[SIZE];</p><p>  float price;</p><p>  char cmd[5]={'\0','\0','\0','\0','\0'};</p><p>  char exi

13、ts[5]="quit";</p><p>  int recmd=0;</p><p><b>  int i;</b></p><p>  for(i=0;i<SIZE;i++)</p><p><b>  {</b></p><p>  mem

14、set(flower[i].name,0,20); /*成員設(shè)置,各類型初始化*/</p><p>  flower[i].rate=0;</p><p>  flower[i].amount=0;</p><p>  flower[i].color=white;</p><p><b>  }</b></p>

15、;<p>  printf("花店經(jīng)營管理系統(tǒng)\n");</p><p>  printf("\nYou can input 'buy','look','put','help','find':\n");</p><p>  while(1) /*命令轉(zhuǎn)換

16、,把字符轉(zhuǎn)換為數(shù)字*/</p><p><b>  {</b></p><p>  scanf("%s",cmd);</p><p>  if(strcmp(cmd,exits)==0)</p><p><b>  exit(1);</b></p><p>

17、;  recmd=changecmd(cmd);</p><p>  switch(recmd)</p><p><b>  {</b></p><p><b>  case 0:</b></p><p>  printf("a bad command please input a cor

18、rcet cmd \n"); /*輸入了錯誤信息的提示*/</p><p><b>  break;</b></p><p><b>  case 1:</b></p><p>  price=buy(flower);</p><p>  if(price==0)</p>&

19、lt;p>  printf("\nSorry,buy error");</p><p><b>  else</b></p><p>  printf("\n OK,Please pay money %f \n",price);</p><p><b>  break;</b>

20、</p><p><b>  case 2:</b></p><p>  enter_data(flower);</p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  put_data(

21、flower);</p><p><b>  break;</b></p><p><b>  case 4:</b></p><p>  findflower(flower);</p><p><b>  break;</b></p><p><

22、b>  case 5:</b></p><p>  printf("\nYoucaninput 'buy','look','put','help','find':\n");</p><p><b>  break;</b></p><

23、;p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /*命令解釋函數(shù)*/</p><p>  /*該函數(shù)處理接收到的命令 通過與命令數(shù)組里的預(yù)定義命令比較 返回命令在數(shù)組中的位置*/</p

24、><p>  int changecmd(char cmd[])</p><p><b>  {</b></p><p><b>  int i=0;</b></p><p>  for(i=0;i<CMDSIZE;i++)</p><p><b>  {<

25、/b></p><p>  if(strcmp(cmd,Dcmd[i])==0)</p><p>  return i+1;</p><p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }<

26、/b></p><p>  /*庫存輸入函數(shù)*/</p><p>  /*該函數(shù)接受鍵盤輸入 把輸入數(shù)據(jù)與庫存對應(yīng)*/</p><p>  void enter_data(FLOWER flower[])</p><p><b>  {</b></p><p>  int i,flag;&l

27、t;/p><p>  for(i=0;i<SIZE;i++)</p><p><b>  {</b></p><p>  printf("Please enter the flowers:\n");</p><p>  printf("Flower name is:\n");&l

28、t;/p><p>  scanf("%s",flower[i].name);</p><p>  printf("Flower rate is:\n");</p><p>  scanf("%f",&flower[i].rate);</p><p>  printf("

29、Flower amount is:\n");</p><p>  scanf("%d",&flower[i].amount);</p><p><b>  flag=1;</b></p><p>  while(flag) /*接受用戶選擇的顏色*/</p><p><b>

30、;  {</b></p><p>  printf("0->red\t1->white\t2->yellow\t3->purple\t4->orante\n");</p><p>  printf("Please choose a color:\n");</p><p>  scanf

31、("%d",&flower[i].color);</p><p>  if(flower[i].color>=0&&flower[i].color<=4)</p><p><b>  flag=0;</b></p><p><b>  else</b></p&g

32、t;<p>  printf("Not have this color\n");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /*輸出現(xiàn)有庫存的鮮花

33、數(shù)據(jù)的函數(shù)定義*/</p><p>  void put_data(FLOWER flower[])</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  printf("\nName Color Rate

34、Amount\n");</p><p>  for(i=0;i<SIZE;i++)</p><p><b>  {</b></p><p>  printf("%-12s",flower[i].name);</p><p>  switch(flower[i].color)</p

35、><p><b>  {</b></p><p><b>  case red:</b></p><p>  printf("%-8s","red");</p><p><b>  break;</b></p><p>

36、;  case white:</p><p>  printf("%-8s","white");</p><p><b>  break;</b></p><p>  case yellow:</p><p>  printf("%-8s","yell

37、ow");</p><p><b>  break;</b></p><p>  case purple:</p><p>  printf("%-8s","purple");</p><p><b>  break;</b></p>

38、<p>  case orange:</p><p>  printf("%-8s","orange");</p><p><b>  break;</b></p><p><b>  }</b></p><p>  printf("%-1

39、0.2f%-10d\n",flower[i].rate,flower[i].amount);</p><p><b>  }</b></p><p><b>  }</b></p><p>  /*詢問用戶購買的鮮花的種類和株的數(shù)量,計算總的價格的函數(shù)定義*/</p><p>  floa

40、t buy(FLOWER flower[])</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  char name[20];</p><p>  COLOR color;</p><p>  float rate,p

41、rice;</p><p>  int amount,flag;</p><p>  printf("\nPlease enter name and rate you want to buy:\n");</p><p>  /*輸出需要的鮮花的名字和價格*/</p><p>  scanf("%s%f"

42、,name,&rate);</p><p><b>  flag=1;</b></p><p>  while(flag) /*客戶購買花的情況*/</p><p><b>  {</b></p><p>  printf("0->red\t1->white\t2-&

43、gt;yellow\t3->purple\t4->orante\n");</p><p>  printf("Please choose a color:\n");</p><p>  scanf("%d",&color);</p><p>  if(color>=0&&co

44、lor<=4)</p><p><b>  flag=0;</b></p><p><b>  else</b></p><p>  printf("Not have this color\n");</p><p><b>  }</b></p&

45、gt;<p>  printf("Please amount you want to buy:\n");</p><p>  /*輸出需要的花的數(shù)量*/</p><p>  scanf("%d",&amount);</p><p>  for(i=0;i<SIZE;i++)</p>&

46、lt;p><b>  {</b></p><p>  if(flower[i].rate==rate&&strcmp(flower[i].name,name)==0&&flower[i].color==color)</p><p><b>  break;</b></p><p>&l

47、t;b>  }</b></p><p>  if(i==SIZE)</p><p><b>  {</b></p><p>  printf("\nNot fount the flower you buy\n");</p><p>  /*沒有要買的花*/</p>&l

48、t;p><b>  price=0;</b></p><p><b>  }</b></p><p>  else if(flower[i].amount<amount)/*所購花數(shù)量不夠*/</p><p><b>  {</b></p><p>  printf

49、("\nAmount not enought\n");</p><p><b>  price=0;</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b>&

50、lt;/p><p>  flower[i].amount=flower[i].amount-amount;</p><p>  price=flower[i].rate*amount; /*找到,剩余數(shù)量夠,可以買花,并計算總價格*/</p><p><b>  }</b></p><p>  return price;&

51、lt;/p><p><b>  }</b></p><p>  /*對于庫存鮮花的的查詢方式的定義*/</p><p>  void findflower(FLOWER flower[])</p><p><b>  {</b></p><p>  int i,rcmd;<

52、/p><p>  char name[20];</p><p>  float rate;</p><p>  COLOR color;</p><p>  printf("Please choose a number :\n");/*輸出查詢的方式*/</p><p>  printf("0

53、->find as name\t 1->find as rate \t 2->find as color\n");</p><p>  scanf("%d",&rcmd);</p><p>  switch(rcmd)</p><p><b>  {</b></p><

54、p>  case 0: /*按花名查詢*/</p><p>  printf("In put a flower name:\n");</p><p>  scanf("%s",name);</p><p>  for(i=0;i<SIZE;i++)</p><p><b>  {&

55、lt;/b></p><p>  if(flower[i].name==name)</p><p>  printf("%s\t%d\t%f\t%d\n",flower[i].name,flower[i].color,flower[i].rate,flower[i].amount);</p><p><b>  }</b&g

56、t;</p><p><b>  break;</b></p><p>  case 1: /*按數(shù)量查詢*/</p><p>  printf("In put a flower rate:\n");</p><p>  scanf("%f",&rate);</p&g

57、t;<p>  for(i=0;i<SIZE;i++)</p><p><b>  {</b></p><p>  if(flower[i].rate==rate)</p><p>  printf("%s\t%d\t%f\t%d\n",flower[i].name,flower[i].color,flo

58、wer[i].rate,flower[i].amount);</p><p><b>  }</b></p><p><b>  break;</b></p><p>  case 2: /*按顏色查詢*/</p><p>  printf("In put a flower color:\

59、n");</p><p>  scanf("%d",&color);</p><p>  for(i=0;i<SIZE;i++)</p><p><b>  {</b></p><p>  if(flower[i].color==color)</p><p&

60、gt;  printf("%s\t%d\t%f\t%d\n",flower[i].name,flower[i].color,flower[i].rate,flower[i].amount);</p><p><b>  }</b></p><p><b>  break;</b></p><p><

61、;b>  }</b></p><p><b>  }</b></p><p>  六.總結(jié)、設(shè)計結(jié)果說明</p><p>  一.通過本程序的練習(xí),可以讓讀者了解結(jié)構(gòu)體的定義和函數(shù)的調(diào)用,對程序中各種語句的運用更加熟練把握。</p><p>  二.本程序雖然簡短,但可以簡單地運用到花店的經(jīng)營管理中,通

溫馨提示

  • 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

提交評論