食品信息統(tǒng)計課程設(shè)計_第1頁
已閱讀1頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  沈 陽 航 空 航 天 大 學(xué)</p><p><b>  課程設(shè)計</b></p><p><b>  學(xué) 號 </b></p><p><b>  班 級 </b></p><p><b>  姓 名 </b>&

2、lt;/p><p><b>  指導(dǎo)教師 </b></p><p>  2012年08月29日</p><p><b>  沈陽航空航天大學(xué)</b></p><p><b>  課程設(shè)計任務(wù)書</b></p><p>  院系:電子信息工程學(xué)院 專業(yè):電子信

3、息工程 班級:</p><p>  學(xué)號: 題目:食品信息統(tǒng)計</p><p><b>  一、課程設(shè)計時間</b></p><p>  21012~2013第1學(xué)期第1周,共計1周,20學(xué)時。</p><p><b>  二、課程設(shè)計內(nèi)容:</b></p><p> 

4、 用C語言編寫軟件完成以下任務(wù):</p><p>  某食品商店目前庫存貨物記載在文件file27.txt中,其格式為:食品編號,食品名稱,生產(chǎn)廠家,單價(元),庫存。</p><p>  根據(jù)文件中的數(shù)據(jù),計算出:</p><p> ?。?)庫存的價值總量</p><p> ?。?)這些食品來源于哪些廠家,請打印所有廠家(不能重復(fù))。<

5、;/p><p><b>  三、課程設(shè)計要求:</b></p><p><b>  1、程序質(zhì)量:</b></p><p>  貫徹結(jié)構(gòu)化的程序設(shè)計思想。</p><p>  用戶界面友好,功能明確,操作方便。</p><p>  用戶界面中的菜單至少應(yīng)包括“讀取數(shù)據(jù)”、“統(tǒng)計價

6、值總量”、“廠家清單”、“退出”4項。</p><p>  代碼應(yīng)適當縮進,并給出必要的注釋,以增強程序的可讀性。</p><p>  2、課程設(shè)計說明書:</p><p>  課程結(jié)束后,上交課程設(shè)計說明書和源程序。課程設(shè)計說明書的格式和內(nèi)容參見提供的摸板。</p><p>  四、指導(dǎo)教師和學(xué)生簽字</p><p>

7、;  指導(dǎo)教師:_________學(xué)生簽名:_________</p><p><b>  五、成績:</b></p><p><b>  六、教師評語: </b></p><p><b>  目錄</b></p><p><b>  一、需求分析1</b&

8、gt;</p><p><b>  二、設(shè)計分析2</b></p><p>  三、主要界面截圖5</p><p><b>  四、技術(shù)要點6</b></p><p><b>  五、個人總結(jié)7</b></p><p><b>  六、

9、參考文獻7</b></p><p><b>  七、源程序7</b></p><p><b>  需求分析</b></p><p>  所需要設(shè)計的系統(tǒng)為食品信息統(tǒng)計系統(tǒng),該系統(tǒng)面向的用戶一般為公司貨物的統(tǒng)計人員。根據(jù)該系統(tǒng)適用的范圍和人員所從事的工作,則要求該系必須具備高效的處理數(shù)據(jù)能力,良好的穩(wěn)定性能,

10、安全性能。</p><p><b>  高效性</b></p><p>  該系統(tǒng)面對的用戶為公司的統(tǒng)計人員,而他們的工作便是統(tǒng)計大量商品的種類和數(shù)量,工作量之大可想而知。這就需要該系統(tǒng)必須擁有高效的數(shù)據(jù)處理能力,來協(xié)助統(tǒng)計人員更快捷的完成自己的工作。</p><p>  根據(jù)系統(tǒng)對運行速度的要求,在編寫程序時就比較各種算法的運行速度的優(yōu)劣來選

11、擇最適合且能有效提高系統(tǒng)運行速度的算法</p><p><b>  穩(wěn)定性</b></p><p>  該系統(tǒng)在用于實際生產(chǎn)工作時會用來統(tǒng)計大量的貨物信息,在統(tǒng)計時這龐大的數(shù)據(jù)量便是對系統(tǒng)穩(wěn)定性極大的考驗,所以在編寫程序的過程中要充分的考慮到這一點。努力的健全程序,使系統(tǒng)對用戶正確的操作做出準確合理的回應(yīng),而不會出行意外的系統(tǒng)錯誤甚至是系統(tǒng)崩潰。</p>

12、<p><b>  安全性</b></p><p>  統(tǒng)計的大量貨物中可能有極少數(shù)的貨物屬于貴重的貨物,所以這些貨物的信息一般很重要,不允許普通人員隨意的查看,修改,刪除。這就要求系統(tǒng)對所統(tǒng)計的信息可以進行保密處理,以增強信息的安全性。</p><p><b>  設(shè)計分析</b></p><p>  主要有

13、4個功能模塊,每個模塊對應(yīng)一個C語言自定義函數(shù)。這些函數(shù)原型及其功能簡述如下:</p><p>  1)增加用戶界面的友好性,可操作性的menu函數(shù)</p><p>  2)讀取文件File27.txt里面的食品信息存儲到內(nèi)存中的函數(shù)read.</p><p>  3)統(tǒng)計庫存食品價值總量的函數(shù)tj。</p><p>  4) 輸出廠家清單的

14、函數(shù)qd。</p><p>  其中讀取食品信息函數(shù)read、統(tǒng)計庫存價值總量函數(shù)tj、獲取廠家清單函數(shù)為題目具體要求的功能函數(shù)qd,而提示信息都為附加功能,同時也增加了界面的可讀性。</p><p>  每種食品的信息包括食品編號、食品名稱、生產(chǎn)廠家、單價、庫存量因此在程序中把食品的信息定義為結(jié)構(gòu)體類型,這樣既便于食品信息的統(tǒng)計有便于食品信息的管理。</p><p&g

15、t;<b>  程序的整體結(jié)構(gòu)圖</b></p><p><b>  主要功能模塊框圖</b></p><p>  讀取食品信息函數(shù)read</p><p><b>  讀取食品信息函數(shù)</b></p><p>  統(tǒng)計價值總量函數(shù)tj</p><p>

16、  (3)打印廠家清單函數(shù)qd</p><p><b>  主要界面截圖</b></p><p><b>  技術(shù)要點</b></p><p><b>  1、結(jié)構(gòu)體的應(yīng)用</b></p><p>  定義了結(jié)構(gòu)體用來描述庫存食品的食品編號、食品名稱、生產(chǎn)廠家、單價(元)、庫存

17、。具體的定義如下:</p><p>  struct foods</p><p><b>  {</b></p><p>  char num[10];</p><p>  char name[10];</p><p>  char changjia[20];</p><p&g

18、t;  float price;</p><p><b>  int n;</b></p><p><b>  }</b></p><p>  所定義的結(jié)構(gòu)體主要用于定義數(shù)組。</p><p><b>  文件操作</b></p><p>  文件操作包

19、括了文件的寫入和讀取兩個方面,但本次編程中只用到了文件的讀取操作。文件的讀取操作,用于讀取指定文件中庫存食品信息數(shù)據(jù)。</p><p>  例如如下程序段用于讀取庫存食品信息:</p><p>  void read()</p><p><b>  {int i;</b></p><p><b>  FILE

20、*fp;</b></p><p>  fp=fopen("d:\\file27.txt","r");</p><p>  for(i=0;i<N;i++)</p><p>  fscanf(fp,"%s%s%s%f%d",foods[i].num,foods[i].name,foods[i

21、].changjia,&foods[i].price,&foods[i].n);</p><p>  printf("讀取成功!\n");</p><p><b>  }</b></p><p><b>  個人總結(jié)</b></p><p>  C語言課程設(shè)計實習

22、結(jié)束了,在這段時間里我受益匪淺。在老師的精心指導(dǎo)和同學(xué)們的熱情幫助下,一點點的完成了程序。通過這次課程設(shè)計學(xué)習,我深刻的了解了C語言的重要性,這也使我對C語言這門學(xué)科產(chǎn)生了更加濃厚的興趣,我會更加努力的學(xué)習C語言這門學(xué)課,為將來能取得更大的成績而努力。</p><p>  由于個人的能力有限,此次編寫的程序總感覺還有不少的瑕疵:程序運行時的對話框呆板沒有絲毫美感,功能不夠強大只能解決簡單的統(tǒng)計操作,程序不能進行加

23、密操作使得重要信息文件的保密性不夠高。</p><p>  雖然程序有諸多的不足,但它也有自身的優(yōu)點:運行畫面簡單易懂便于操作,添加菜單menu函數(shù)使對話框一目了然。</p><p><b>  參考文獻</b></p><p>  譚浩強.C程序設(shè)計.清華大學(xué)出版社.2005.</p><p>  譚浩強.C程序設(shè)計題

24、解與上機指導(dǎo).清華大學(xué)出版社.2005.</p><p>  Anderw W.Appel.現(xiàn)代編譯原理C語言描述.人民郵電出版社.2006</p><p><b>  源程序</b></p><p>  #include<stdio.h></p><p>  #include<string.h>

25、</p><p>  #include<conio.h></p><p>  #include<stdlib.h></p><p>  #define N 30</p><p>  struct foods</p><p><b>  {</b></p>&l

26、t;p>  char num[10];</p><p>  char name[10];</p><p>  char changjia[20];</p><p>  float price;</p><p><b>  int n;</b></p><p>  }foods[N];<

27、/p><p>  void menu();</p><p>  void read();</p><p>  void tj();</p><p>  void qd();</p><p>  void main()</p><p><b>  {</b></p>

28、<p><b>  int m;</b></p><p><b>  while(1)</b></p><p><b>  { </b></p><p><b>  menu();</b></p><p>  printf("\n 請

29、輸入您要選擇的操作序號,按回車鍵確認:");</p><p>  scanf("%d",&m);</p><p><b>  switch(m)</b></p><p><b>  {</b></p><p>  case 1: read();break;<

30、;/p><p>  case 2: tj();break;</p><p>  case 3: qd();break;</p><p>  case 4: exit(0);</p><p>  default: printf("輸入錯誤,請輸入列表中存在的序號!\n ");</p><p><b

31、>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void menu()</p><p><b>  {</b></p><p>  printf("

32、 ************************* 食品信息統(tǒng)計系統(tǒng)************************ ");</p><p>  printf("\n 1 讀取數(shù)據(jù)");</p><p>  printf("\n

33、 2 統(tǒng)計價值總量");</p><p>  printf("\n 3 廠家清單");</p><p>  printf("\n 4 退出");</p><p><b>  }&

34、lt;/b></p><p>  void read()</p><p><b>  {int i;</b></p><p><b>  FILE *fp;</b></p><p>  if((fp=fopen("d:\\file27.txt","r")

35、)==NULL)</p><p><b>  {</b></p><p>  printf("讀取失敗!\n");</p><p><b>  }</b></p><p>  else{printf("食品編號 食品名稱 生產(chǎn)廠家 單價

36、 庫存 ");</p><p>  for(i=0;i<N;i++){</p><p>  fscanf(fp,"%s%s%s%f%d",foods[i].num,foods[i].name,foods[i].changjia,&foods[i].price,&foods[i].n);</p><p>  p

37、rintf("\n%s %s %s %.3f %.3d",foods[i].num,foods[i].name,foods[i].changjia,foods[i].price,foods[i].n);}</p><p>  printf("\n讀取成功!\n");}</p><p><b>  }&l

38、t;/b></p><p><b>  void tj()</b></p><p>  {int c,b=0;</p><p><b>  int i;</b></p><p>  for(i=0;i<N;i++)</p><p>  {c=foods[i].pr

39、ice*foods[i].n;</p><p><b>  b=b+c;</b></p><p><b>  }</b></p><p>  printf("%d\n",b); </p><p><b>  }</b></p><p&g

40、t;<b>  void qd()</b></p><p><b>  {int i,j;</b></p><p>  printf("生產(chǎn)廠家");</p><p>  for (i=0;i<N;i++)</p><p>  {for (j=i;j<N;j++)&l

41、t;/p><p>  if(strcmp(foods[i].changjia,foods[j+1].changjia)==0)</p><p>  *foods[i].changjia=0;}</p><p>  for (i=1;i<N;i++)</p><p>  if(*foods[i].changjia!=0)</p>

溫馨提示

  • 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

提交評論