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

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計說明書</b></p><p>  程序設(shè)計基礎(chǔ)課程設(shè)計任務(wù)書</p><p>  一、題目:設(shè)計一個簡單的產(chǎn)品管理系統(tǒng)</p><p><b>  二、目的與要求</b></p><p><b>  目的:</b></p>

2、<p>  通過產(chǎn)品管理系統(tǒng)的設(shè)計,培養(yǎng)學(xué)生綜合利用C++語言進行程序設(shè)計的能力,加強函數(shù)的運用及學(xué)生對軟件工程方法的初步認識,提高軟件系統(tǒng)分析能力和程序文檔建立、歸納總結(jié)的能力,培養(yǎng)學(xué)生利用系統(tǒng)提供的標(biāo)準函數(shù)及典型算法進行設(shè)計。</p><p><b>  基本要求:</b></p><p> ?。?)要求用C++模塊化設(shè)計的思想來完成程序的設(shè)計;<

3、/p><p> ?。?)要求使用結(jié)構(gòu)數(shù)組和結(jié)構(gòu)指針,各個功能分別使用函數(shù)來完成,主函數(shù)和各個函數(shù)分別存放在不同的.cpp文件中,要求使用頭文件;</p><p> ?。?)要求使用選擇法排序,折半查找法進行查找。</p><p><b>  創(chuàng)新要求</b></p><p>  在基本要求達到后,進行創(chuàng)新設(shè)計,如進行刪除或插

4、入操作。</p><p><b>  書寫設(shè)計報告的要求</b></p><p>  設(shè)計報告中包含以下幾個方面:</p><p><b>  設(shè)計題目</b></p><p><b>  總體設(shè)計</b></p><p>  用自頂而下或自底而上的方法

5、,劃分功能模塊。</p><p><b>  確定各模塊的算法</b></p><p><b>  根據(jù)算法畫出流程圖</b></p><p>  列出程序清單,并加以必要的注釋</p><p><b>  寫出調(diào)試程序的方法</b></p><p> 

6、 指出所設(shè)計問題的不足和改進方案</p><p>  課程設(shè)計材料的裝訂順序為:</p><p><b>  設(shè)計說明書封面</b></p><p><b>  課程設(shè)計任務(wù)書</b></p><p><b>  課程設(shè)計鑒定表</b></p><p>

7、;<b>  目錄</b></p><p><b>  設(shè)計報告書正文</b></p><p>  三、設(shè)計方法和基本原理</p><p><b>  問題描述:</b></p><p>  某工廠有5種產(chǎn)品,每種產(chǎn)品包括:產(chǎn)品代碼,產(chǎn)品名稱,產(chǎn)品數(shù)量,銷售量,要求編寫函數(shù)實現(xiàn)

8、下面:</p><p>  從鍵盤輸入這些產(chǎn)品的信息;</p><p>  按照產(chǎn)品的庫存量進行升序排序,使用選擇法排序,在主函數(shù)中輸出;</p><p>  使用折半查找法進行循環(huán)查詢,當(dāng)用戶給出某種產(chǎn)品的代碼時,在主函數(shù)中顯示該產(chǎn)品的信息,如果沒找到則給出未找到的信息,退出程序的運行;</p><p><b>  輸出產(chǎn)品信息。

9、</b></p><p><b>  問題的解決方案:</b></p><p>  根據(jù)問題的描述,可以按照程序要求的功能采用結(jié)構(gòu)化的設(shè)計思想。</p><p>  產(chǎn)品的庫存量在輸入函數(shù)中求解或者編寫?yīng)毩⒑瘮?shù)求解;</p><p>  在排序過程中,結(jié)構(gòu)數(shù)組元素的交換可以整體進行,無需每個成員之間進行互換。

10、</p><p>  使用折半查找法進行查找之前,應(yīng)該先按照產(chǎn)品代碼進行排序。</p><p>  四、主要技術(shù)問題的描述</p><p>  根據(jù)三的分析,主要問題在于:</p><p><b> ?。?)結(jié)構(gòu)體的構(gòu)造</b></p><p>  除了產(chǎn)品的代碼(int code)、產(chǎn)品名稱(c

11、har name) ,產(chǎn)品數(shù)量(float amount) ,銷售量(float sales)外,還應(yīng)有產(chǎn)品的庫存量(float stock)</p><p><b> ?。?)排序</b></p><p>  在進行完結(jié)構(gòu)數(shù)組中某個成員的比較后,不是某個成員的互換,而是結(jié)構(gòu)體數(shù)組元素之間的互換。例如結(jié)構(gòu)體數(shù)組元素pro[j]和pro[k]的互換:</p>

12、<p>  t=pro[j]; pro[j]=pro[j+1]; pro[j+1]=t;</p><p>  (3)各個函數(shù)的參數(shù)傳遞問題</p><p>  實參應(yīng)為結(jié)構(gòu)數(shù)組名,形參為結(jié)構(gòu)體指針或者結(jié)構(gòu)體數(shù)組。如輸入函數(shù):</p><p>  void Input(PRODUCT *p) //結(jié)構(gòu)體指針作為形參</p><p&g

13、t;  {//program code</p><p><b>  }</b></p><p>  函數(shù)調(diào)用時:Input(pro); // pro 為結(jié)構(gòu)體數(shù)組名</p><p>  五、課程設(shè)計時間:18周</p><p>  六、課程設(shè)計的考核方式及評分方法</p><p><b&

14、gt;  1.考核方式</b></p><p>  課程設(shè)計結(jié)束時,在機房當(dāng)場驗收。</p><p>  教師提供測試數(shù)據(jù),檢查運行結(jié)果是否正確。</p><p>  回答教師提出的問題。</p><p>  學(xué)生提交課程設(shè)計文檔(A4紙打?。?lt;/p><p><b>  2.評分方法</b

15、></p><p>  上機檢查 :書面報告=7 :3,沒有通過上機檢查的其成績直接記錄不及格</p><p>  指導(dǎo)教師簽名:         日期:        </p><p>  教研室主任簽名:        日期:        </p><p>  系主任簽名:          日期:        </p

16、><p><b>  摘要</b></p><p>  用C++模塊化設(shè)計的思想來完成該簡單的產(chǎn)品管理系統(tǒng)程序的設(shè)計,使用結(jié)構(gòu)數(shù)組和結(jié)構(gòu)指針,各個功能分別使用函數(shù)來完成,主函數(shù)和各個函數(shù)分別存放在不同的.cpp文件中,使用了頭文件,并使用選擇法排序,折半查找法進行查找。</p><p>  關(guān)鍵詞:產(chǎn)品管理系統(tǒng);模塊化設(shè)計;結(jié)構(gòu)數(shù)組;結(jié)構(gòu)指針;選擇

17、法排序;折半查找法。</p><p><b>  目錄</b></p><p>  1 設(shè)計內(nèi)容與要求 ………………………………………………………………………………… 1</p><p>  2.設(shè)計說明 ………………………………………………………………………………………… 2</p><p>  2.1 問題描述與功能

18、設(shè)計…………………………………………………………………………2</p><p>  2.2 算法與數(shù)據(jù)結(jié)構(gòu)………………………………………………………………………………4</p><p>  2.3 函數(shù)定義…………………………………………………………………………………………6</p><p>  2.4 界面設(shè)計………………………………………………………………………

19、………………9</p><p>  2.5 編碼……………………………………………………………………………………………12</p><p>  2.6 測試……………………………………………………………………………………………21</p><p>  3 總結(jié)…………………………………………………………………………………………………23</p><

20、;p>  參考文獻 ……………………………………………………………………………………………25</p><p>  附錄A 源代碼………………………………………………………………………………………26</p><p><b>  1設(shè)計內(nèi)容與要求</b></p><p>  設(shè)計一個簡單的產(chǎn)品管理系統(tǒng):</p><p&

21、gt;  某工廠有5種產(chǎn)品,每種產(chǎn)品包括:產(chǎn)品代碼,產(chǎn)品名稱,產(chǎn)品數(shù)量,銷售量,要求編寫函數(shù)實現(xiàn)下面:</p><p>  (1)從鍵盤輸入這些產(chǎn)品的信息;</p><p>  (2)按照產(chǎn)品的庫存量進行升序排序,使用選擇法排序,在主函數(shù)中輸出;</p><p> ?。?)使用折半查找法進行循環(huán)查詢,當(dāng)用戶給出某種產(chǎn)品的代碼時,在主函數(shù)中顯示該產(chǎn)品的信息,如果沒找到

22、則給出未找到的信息,退出程序的運行;</p><p> ?。?)輸出產(chǎn)品信息。</p><p><b>  基本要求:</b></p><p> ?。?)要求用C++模塊化設(shè)計的思想來完成程序的設(shè)計;</p><p> ?。?)要求使用結(jié)構(gòu)數(shù)組和結(jié)構(gòu)指針,各個功能分別使用函數(shù)來完成,主函數(shù)和各個函數(shù)分別存放在不同的.cp

23、p文件中,要求使用頭文件;</p><p> ?。?)要求使用選擇法排序,折半查找法進行查找。</p><p><b>  創(chuàng)新要求:</b></p><p>  在基本要求達到后,進行創(chuàng)新設(shè)計,如進行刪除或插入操作。</p><p><b>  2.設(shè)計說明</b></p><

24、p>  2.1 問題描述與功能設(shè)計</p><p>  2.1.1 問題描述:</p><p><b>  問題描述:</b></p><p>  某工廠有5種產(chǎn)品,每種產(chǎn)品包括:產(chǎn)品代碼,產(chǎn)品名稱,產(chǎn)品數(shù)量,銷售量,要求編寫函數(shù)實現(xiàn)下面:</p><p>  ( 1 ) 從鍵盤輸入這些產(chǎn)品的信息;</p&g

25、t;<p>  ( 2 )按照產(chǎn)品的庫存量進行升序排序,使用選擇法排序,在主函數(shù)中輸出;</p><p>  使用折半查找法進行循環(huán)查詢,當(dāng)用戶給出某種產(chǎn)品的代碼時,在主函數(shù)中顯示該產(chǎn)品的信息,( 3 )如果沒找到則給出未找到的信息,退出程序的運行;</p><p>  ( 4 )輸出產(chǎn)品信息。</p><p><b>  主要問題在于:&l

26、t;/b></p><p><b> ?。?)結(jié)構(gòu)體的構(gòu)造</b></p><p>  除了產(chǎn)品的代碼(int code)、產(chǎn)品名稱(char name) ,產(chǎn)品數(shù)量(float amount) ,銷售量(float sales) 外,還應(yīng)有產(chǎn)品的庫存量(float stock) </p><p><b>  

27、(2)排序</b></p><p>  在進行完結(jié)構(gòu)數(shù)組中某個成員的比較后,不是某個成員的互換,而是結(jié)構(gòu)體數(shù)組元素之間的互換。例如結(jié)構(gòu)體數(shù)組元素pro[j]和pro[k]的互換:</p><p>  t=pro[j]; pro[j]=pro[j+1]; pro[j+1]=t;</p><p> ?。?)各個函數(shù)的參數(shù)傳遞問題</p><

28、;p>  實參應(yīng)為結(jié)構(gòu)數(shù)組名,形參為結(jié)構(gòu)體指針或者結(jié)構(gòu)體數(shù)組。如輸入函數(shù):</p><p>  void Input(PRODUCT *p) //結(jié)構(gòu)體指針作為形參</p><p>  {//program code</p><p><b>  }</b></p><p>  函數(shù)調(diào)用時:Input(pro);

29、 // pro 為結(jié)構(gòu)體數(shù)組名</p><p>  2.1.2功能設(shè)計:</p><p>  根據(jù)問題描述和設(shè)計要求,設(shè)計如下的功能:產(chǎn)品信息的輸入、全部產(chǎn)品信息的查看、單個產(chǎn)品信息的按代碼查看、單個產(chǎn)品信息的修改。</p><p>  2.2 算法與數(shù)據(jù)結(jié)構(gòu)</p><p><b>  2.2.1 算法</b><

30、;/p><p><b>  主函數(shù)</b></p><p><b>  產(chǎn)品信息輸入</b></p><p><b>  產(chǎn)品庫存量升序排列</b></p><p><b>  產(chǎn)品代碼查找</b></p><p><b> 

31、 修改已輸入產(chǎn)品信</b></p><p><b>  2.2.2數(shù)據(jù)結(jié)構(gòu)</b></p><p>  本程序采用的數(shù)據(jù)結(jié)構(gòu)為:</p><p>  struct product</p><p><b>  {</b></p><p>  int code;&l

32、t;/p><p>  char name[10];</p><p>  float amount;</p><p>  float sales;</p><p>  float stock;</p><p><b>  }pro[5];</b></p><p><b>

33、;  2.3 函數(shù)定義</b></p><p>  我設(shè)計該程序一共定義了三個函數(shù),分別為:產(chǎn)品輸入,產(chǎn)品庫存量升序排列,產(chǎn)品代碼查找,修改已輸入產(chǎn)品信息,主界面。</p><p>  函數(shù)名分別為: void input()</p><p>  void sort()</p><p>  void search()</p&

34、gt;<p>  void reput()</p><p>  void desktop()</p><p><b>  2.4 界面設(shè)計</b></p><p><b>  本程序界面設(shè)計為</b></p><p><b>  2.5 編碼</b></p&

35、gt;<p>  system("pause");</p><p>  system("cls");</p><p>  在我寫的程序中運用了上面的語句,這個語句在程序中大量運用,使得界面清晰明了,更加美觀。</p><p>  system("pause") 用來暫停系統(tǒng)工作</p&g

36、t;<p>  system("cls") 用來清除屏幕 </p><p><b>  2.6 測試</b></p><p><b>  ⒈建立產(chǎn)品信息:</b></p><p> ?、膊榭慈慨a(chǎn)品信息:</p><p><b>  ⒊查找產(chǎn)品信息:<

37、;/b></p><p>  查找代碼為103的餐桌.</p><p><b>  ⒋修改產(chǎn)品信息:</b></p><p>  修改 代碼:105名稱:書桌 為:</p><p>  代碼:205 名稱:書桌 產(chǎn)品數(shù)量:23 銷售量:12</p><p><b>  3 總結(jié)&l

38、t;/b></p><p>  通過本次課程設(shè)計,使得本學(xué)期來我學(xué)到的知識得到了一次綜合的應(yīng)用。實驗了從理論到實踐的飛躍。</p><p>  本次課程設(shè)計中,我要用C++知識設(shè)計的是一個簡單產(chǎn)品信息管理系統(tǒng)。要求用C++模塊化設(shè)計的思想來完成程序的設(shè)計,并使用結(jié)構(gòu)數(shù)組和結(jié)構(gòu)指針,各個功能分別使用函數(shù)來完成,主函數(shù)和各個函數(shù)分別存放在不同的.cpp文件中,要使用頭文件。在查看產(chǎn)品信息

39、時要求使用選擇法排序,折半查找法進行查找。</p><p>  在輸入產(chǎn)品信息時,為解決產(chǎn)品代碼重復(fù)輸入的問題,通過與同學(xué)的交流,采用了通過字符比較的方法排除。在查看產(chǎn)品信息時要求使用折半查找法進行查找,在輸入錯誤代碼時,總造成系統(tǒng)死機,也是在同學(xué)的幫助下找到了問題所在。這些都令我十分高興。</p><p>  在一系列的數(shù)據(jù)測試后,該程序能基本順利運行,但不排除還存在一些問題。比如:在輸

40、入產(chǎn)品代碼時,如果輸入數(shù)據(jù)不為整數(shù)類型時,會造成程序錯誤。</p><p>  總之,通過本次課程設(shè)計,是我使用C++語言編程的綜合能力得到了提高。</p><p><b>  參考文獻</b></p><p>  [1] 王挺、周會平、賈麗麗、徐錫山. C++程序設(shè)計[M]. 北京:清華大學(xué)出版社,2005:138-221.</p>

41、;<p>  [2] 劉瑞新. Visual C++面向?qū)ο蟪绦蛟O(shè)計教程[M]. 北京:機械工業(yè)出版社,2005.</p><p><b>  附錄A 源代碼</b></p><p><b>  Main.cpp</b></p><p>  #include<iostream.h></p&g

42、t;<p>  #include<windows.h></p><p>  #include"function.h"</p><p>  int main()</p><p><b>  {</b></p><p><b>  int n;</b><

43、;/p><p><b>  do</b></p><p><b>  {</b></p><p>  desktop();</p><p><b>  cin>>n;</b></p><p>  system("cls");&

44、lt;/p><p><b>  if(n==1)</b></p><p><b>  {</b></p><p><b>  input();</b></p><p><b>  }</b></p><p>  else if(n==2

45、)</p><p><b>  {</b></p><p><b>  sort();</b></p><p><b>  }</b></p><p>  else if(n==3)</p><p><b>  {</b><

46、/p><p><b>  search();</b></p><p><b>  }</b></p><p>  else if(n==4)</p><p><b>  {</b></p><p><b>  reput();</b>

47、</p><p><b>  }</b></p><p><b>  }</b></p><p>  while(n!=0);</p><p><b>  return 0;</b></p><p><b>  }</b></

48、p><p>  Function.h</p><p>  #include<iostream.h></p><p>  #include<windows.h></p><p>  struct product</p><p><b>  {</b></p><

49、;p><b>  int code;</b></p><p>  char name[10];</p><p>  float amount;</p><p>  float sales;</p><p>  float stock;</p><p><b>  }pro[5];&

50、lt;/b></p><p>  //……產(chǎn)品輸入……</p><p>  void input()</p><p><b>  {</b></p><p>  for(int i=0;i<5;i++)</p><p><b>  {</b></p>

51、<p>  cout<<"請輸入第"<<i+1<<"種產(chǎn)品代碼:";</p><p>  cin>>pro[i].code;</p><p>  cout<<"請輸入第"<<i+1<<"種產(chǎn)品名稱:";</p&

52、gt;<p>  cin>>pro[i].name;</p><p>  cout<<"請輸入第"<<i+1<<"種產(chǎn)品數(shù)量:";</p><p>  cin>>pro[i].amount;</p><p>  cout<<"請輸入

53、第"<<i+1<<"種產(chǎn)品銷售量:";</p><p>  cin>>pro[i].sales;</p><p>  pro[i].stock=pro[i].amount-pro[i].sales;</p><p>  system("cls");</p><p

54、><b>  }</b></p><p><b>  }</b></p><p>  //……產(chǎn)品庫存量升序排列</p><p>  void sort()</p><p><b>  {</b></p><p>  product temp;&l

55、t;/p><p>  for(int i=0;i<5-1;i++)</p><p>  for(int j=i+1;j<=5-1;j++)</p><p>  if(pro[i].stock>pro[j].stock)</p><p><b>  {</b></p><p>  te

56、mp=pro[i];</p><p>  pro[i]=pro[j];</p><p>  pro[j]=temp;</p><p><b>  }</b></p><p>  for(int j=0;j<=5-1;j++)</p><p><b>  {</b><

57、;/p><p>  cout<<"庫存量排第"<<j+1<<"種產(chǎn)品的庫存是"<<pro[j].stock<<endl;</p><p>  cout<<"代碼是"<<pro[j].code<<endl;</p><p&

58、gt;  cout<<"名稱是"<<pro[j].name<<endl;</p><p>  cout<<"數(shù)量是"<<pro[j].amount<<endl;</p><p>  cout<<"銷售量是"<<pro[j].sales&

59、lt;<endl<<endl;</p><p><b>  }</b></p><p>  system("pause");</p><p>  system("cls");</p><p><b>  }</b></p>&l

60、t;p>  //……產(chǎn)品代碼查找……</p><p>  void search()</p><p><b>  {</b></p><p>  int code[5]={1,2,3,4,5};</p><p>  bool flag=0;</p><p><b>  int b;

61、</b></p><p>  cout<<"請輸入要查詢的代碼為:";</p><p><b>  cin>>b;</b></p><p>  for(int i=0;i<5;++i)</p><p>  if(b==pro[i].code)</p>

62、;<p><b>  {</b></p><p><b>  flag=1;</b></p><p>  cout<<"產(chǎn)品代碼:"<<pro[i].code<<" "</p><p>  <<"名稱:"

63、;<<pro[i].name<<" "</p><p>  <<"數(shù)量:"<<pro[i].amount<<" "</p><p>  <<"銷售量:"<<pro[i].sales<<endl;</p>

64、<p><b>  }</b></p><p>  if(flag==0)</p><p>  cout<<"此代碼不存在!"<<endl;</p><p>  system("pause");</p><p>  system("cl

65、s");</p><p><b>  } </b></p><p>  //……修改已輸入產(chǎn)品信息</p><p>  void reput()</p><p><b>  {</b></p><p><b>  int code;</b>&

66、lt;/p><p>  cout<<"已輸入產(chǎn)品代碼分別是:"<<endl;</p><p>  for(int k=0;k<=5-1;k++)</p><p>  cout<<pro[k].code<<endl;</p><p>  cout<<"您

67、要修改的產(chǎn)品代碼是多少?"<<endl;</p><p>  cin>>code;</p><p>  for(int i=0;i<=4;i++)</p><p><b>  {</b></p><p>  if (pro[i].code==code)break;</p&g

68、t;<p><b>  }</b></p><p><b>  if(i==5)</b></p><p>  cout<<"沒有您要修改的產(chǎn)品"<<endl;</p><p><b>  else</b></p><p>

69、;<b>  {</b></p><p>  cout<<"請輸入您要修改的產(chǎn)品的代碼"<<endl;</p><p>  cin>>pro[i].code;</p><p>  cout<<"請輸入您要修改的產(chǎn)品的名字"<<endl;</

70、p><p>  cin>>pro[i].name;</p><p>  cout<<"請輸入您要修改的產(chǎn)品的數(shù)量"<<endl;</p><p>  cin>>pro[i].amount;</p><p>  cout<<"請輸入您要修改的產(chǎn)品的銷售量&qu

71、ot;<<endl;</p><p>  cin>>pro[i].sales;</p><p>  pro[i].stock=pro[i].amount-pro[i].sales;</p><p><b>  }</b></p><p>  system("pause");&l

72、t;/p><p>  system("cls");</p><p><b>  }</b></p><p>  //++++++++++++++desktop+++++++++++++++</p><p>  void desktop()</p><p><b>  {&

73、lt;/b></p><p>  cout<<endl;</p><p>  cout<<"********************歡迎進入產(chǎn)品管理系統(tǒng)********************"<<endl</p><p>  <<" *** 請選擇您

74、要的服務(wù) ***"<<endl</p><p>  <<" *** 1.輸入產(chǎn)品信息 ***"<<endl</p><p>  <<" *** 2.查看產(chǎn)品

75、信息 ***"<<endl</p><p>  <<" *** 3.查找產(chǎn)品信息 ***"<<endl</p><p>  <<" *** 4.修改產(chǎn)品

76、信息 ***"<<endl</p><p>  <<"*** 0.退出系統(tǒng) ***"<<endl</p><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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論