數(shù)據(jù)結構課程設計----倉庫管理系統(tǒng)統(tǒng)_第1頁
已閱讀1頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  數(shù)學與計算機學院</b></p><p><b>  課程設計說明書</b></p><p>  課 程 名 稱: 數(shù)據(jù)結構-課程設計 </p><p>  數(shù)據(jù)結構課程設計任務書</p><p><b>  一、設計題目</b>

2、;</p><p><b>  倉庫管理系統(tǒng)</b></p><p><b>  主要內(nèi)容</b></p><p>  設計一個計算機管理系統(tǒng)完成倉庫管理基本業(yè)務。</p><p><b>  1. 基本要求:</b></p><p>  產(chǎn)品入庫管理,

3、可以填寫入庫單,確認產(chǎn)品入庫;</p><p>  產(chǎn)品出庫管理,可以填寫出庫單,確認出庫;</p><p>  借出管理,憑借條借出,然后能夠還庫;</p><p>  初始庫存管理,設置庫存的初始值,庫存的上下警戒限;</p><p>  可以進行盤庫,反應每月、年的庫存情況;</p><p>  可以查詢產(chǎn)品入庫

4、情況、出庫情況、當前庫存情況、可以按出庫單,入庫單,產(chǎn)品、時間進行查詢;</p><p>  2.數(shù)據(jù)庫要求:在數(shù)據(jù)庫中至少應該包含下列數(shù)據(jù)表:</p><p><b>  庫存情況表;</b></p><p><b>  出庫單表;</b></p><p><b>  入庫單表;<

5、/b></p><p><b>  出庫臺賬;</b></p><p><b>  入庫臺賬;</b></p><p>  借條信息表:借出人,借出時間,借出產(chǎn)品,借出數(shù)量,還庫時間等。進一步完成內(nèi)容</p><p>  1)系統(tǒng)功能的進一步完善;</p><p>  

6、2)索引表采用樹表。</p><p><b>  3)設計內(nèi)容</b></p><p><b>  4)程序流程圖</b></p><p><b>  5)源程序</b></p><p>  6)軟件測試報告(包括所用到的數(shù)據(jù)及結果)</p><p> 

7、 三、具體要求及應提交的材料</p><p>  用C/C++語言編程實現(xiàn)上述內(nèi)容,對每個問題寫出一個算法實現(xiàn),并按數(shù)學與計算機學院對課程設計說明書規(guī)范化要求,寫出課程設計說明書,并提交下列材料:</p><p>  1)課程設計說明書打印稿一份</p><p>  2)課程設計說明書電子稿一份;</p><p>  3)源程序電子文檔一份。

8、</p><p>  四、主要技術路線提示</p><p>  使用鏈表的結構體完成數(shù)據(jù)類型定義,在此基礎上進行相應算法設計。</p><p><b>  五、進度安排</b></p><p>  按教學計劃規(guī)定,數(shù)據(jù)結構課程設計為2周,其進度及時間大致分配如下:</p><p><b>

9、;  六、推薦參考資料</b></p><p>  [1] 嚴蔚敏,吳偉民.數(shù)據(jù)結構.清華大學出版社出版。 </p><p>  [2] 嚴蔚敏,吳偉民. 數(shù)據(jù)結構題集(C語言版) .清華大學出版社.2003年5月。</p><p>  [3]唐策善,李龍澎.數(shù)據(jù)結構(作C語言描述) .高等教育出版社.2001年9月</p><p&

10、gt;  [4] 朱戰(zhàn)立.數(shù)據(jù)結構(C++語言描述)(第二版本).高等出版社出版.2004年4月</p><p>  [5]胡學鋼.數(shù)據(jù)結構(C語言版) .高等教育出版社.2004年8月</p><p>  指導教師 簽名日期 年 月 日</p><p>  系 主 任 審核日期 年 月 日<

11、/p><p><b>  目 錄 </b></p><p><b>  1 引 言6</b></p><p>  1.1設計任務與目標6</p><p>  2 程序的主要功能6</p><p>  3 程序運行平臺6</p><p><

12、;b>  4 總體設計7</b></p><p>  5 全部源程序代碼清單8</p><p><b>  6 系統(tǒng)測試24</b></p><p><b>  7結論與心得30</b></p><p><b>  8 致謝31</b></p&

13、gt;<p><b>  9參考文獻32</b></p><p><b>  摘 要 </b></p><p>  隨著計算機的普及,倉庫管理系統(tǒng)是日常倉庫管理的一個重要組成部分,其管理效率的高低直接影響著整個倉庫的工作。本倉庫管理系統(tǒng)的開發(fā)正是出于對管理效率的提高,在物品入庫、出庫、借出、歸還等方面,比傳統(tǒng)管理系統(tǒng)都有著明顯

14、的改善。通過分析其他倉庫管理系統(tǒng)的內(nèi)容及用戶的特點,現(xiàn)提出倉庫管理系統(tǒng)的解決方案。為了最大程度上提高檔案上傳的效率,本系統(tǒng)利用指針,線性表完成了倉庫管理系統(tǒng)。</p><p>  關鍵詞:倉庫管理系統(tǒng),入庫、出庫、借出、歸還 </p><p><b>  1 引 言</b></p><p>  1.1設計任務與目標</p>&l

15、t;p>  設計要求:設計產(chǎn)品出入庫管理單,基本信息包括:庫單編號、入庫人、產(chǎn)品名稱、入庫數(shù)量、入庫時間;借出產(chǎn)品管理,包括:庫單編號、借出人、產(chǎn)品名稱、借出數(shù)量、歸還時間。要求</p><p>  1)產(chǎn)品入庫、出庫、借出時,不能超過每種庫存的庫存警戒限。</p><p>  2)對庫單編號建立索引表(線性表)以提高查找效率;</p><p>  3)系統(tǒng)主

16、要功能如下:</p><p>  *產(chǎn)品入庫:這是一種對庫存中已有產(chǎn)品的入庫,對于當前庫存不存在的產(chǎn)品是不能入庫的,入庫時不能超過庫存警界上限。</p><p>  *產(chǎn)品出庫:如果一種產(chǎn)品的現(xiàn)存量大于警界庫存的下線,則可以出庫,但是出庫之后的數(shù)量不能低于警界庫存的下限。</p><p>  *產(chǎn)品借出與歸還:如果一種產(chǎn)品的現(xiàn)存量大于警界庫存的下線,則可以借出,但是

17、借出之后的數(shù)量不能低于警界庫存的下限。</p><p>  *查看信息:可以根據(jù)入庫情況、出庫情況、借出情況、當前倉庫情況進行查詢。</p><p>  *保存并退出系統(tǒng):只有選擇此功能,用戶之前的操作才生效,如果只是關閉界面,則不會保存之前相關操作。</p><p><b>  進一步完成內(nèi)容</b></p><p>

18、  1)系統(tǒng)功能的進一步完善;</p><p>  2)索引表采用樹表。</p><p><b>  3)設計內(nèi)容</b></p><p><b>  4)程序流程圖</b></p><p><b>  5)源程序</b></p><p>  6)軟件測

19、試報告(包括所用到的數(shù)據(jù)及結果)</p><p><b>  2 程序的主要功能</b></p><p><b>  1)產(chǎn)品入庫管理;</b></p><p><b>  2)產(chǎn)品出庫管理;</b></p><p><b>  3)借出產(chǎn)品;</b>&l

20、t;/p><p><b>  4)歸還產(chǎn)品;</b></p><p><b>  5)查詢信息;</b></p><p>  6)保存并退出系統(tǒng);</p><p><b>  3 程序運行平臺</b></p><p>  Microsoft Visual

21、C++ 6.0。</p><p>  Windows XP操作系統(tǒng)。</p><p>  編譯源程序,構建,測試,模塊進行分別測試,然后進行集成測試。4 總體設計</p><p>  搭建程序框架圖,其圖如下所示:</p><p><b>  選擇相應數(shù)字</b></p><p><b>

22、;  回車返</b></p><p>  回主菜 選擇屏幕所設菜單</p><p>  單 進入子菜單</p><p><b>  選擇相應數(shù)字</b></p><p><b>  退出系統(tǒng)</b></p><p><b> 

23、 5 主要功能函數(shù)</b></p><p><b>  產(chǎn)品初始化函數(shù):</b></p><p>  void initproduce()</p><p><b>  {</b></p><p>  for (int i=0;i<count;++i)</p><

24、p><b>  {</b></p><p>  prodect *p = new prodect;</p><p>  cout<<"一共"<<count<<"個產(chǎn)品,請輸入第"<<i+1<<"個產(chǎn)品的信息。"<<endl;<

25、/p><p>  cout<<"請輸入產(chǎn)品名字:";</p><p>  cin>>p->name;</p><p>  cout<<"請輸入產(chǎn)品數(shù)量:";</p><p>  cin>>p->num;</p><p>  

26、cout<<"請輸入產(chǎn)品最大值:";</p><p>  cin>>p->maxnumber;</p><p>  cout<<"請輸入產(chǎn)品最小值:";</p><p>  cin>>p->minnumber;</p><p>  p->

27、next = p_head->next;</p><p>  p_head->next = p;</p><p><b>  }</b></p><p><b>  }</b></p><p>  這個函數(shù)用于產(chǎn)品的初始化,對倉庫內(nèi)的所有物品進行一次初始化,包括產(chǎn)品名稱、產(chǎn)品數(shù)量、產(chǎn)品的

28、警界上限、產(chǎn)品的警界下限。</p><p><b>  產(chǎn)品入庫函數(shù):</b></p><p>  void input()</p><p><b>  {</b></p><p>  list *sp = new list;</p><p>  cout<<&

29、quot;請?zhí)顚懭霂靻涡畔ⅰ?quot;<<endl;</p><p>  cout<<"請輸入庫單的編號:";</p><p>  cin>>sp->no;</p><p>  cout<<"產(chǎn)品入庫人:";</p><p>  cin>&g

30、t;sp->name;</p><p>  cout<<"入庫產(chǎn)品名字:";</p><p>  cin>>sp->proname;</p><p>  cout<<"入庫產(chǎn)品數(shù)量:";</p><p>  cin>>sp->pronum

31、;</p><p>  cout<<"入庫的年:";</p><p>  cin>>sp->year;</p><p>  cout<<"入庫的月:";</p><p>  cin>>sp->month;</p><p>

32、;  prodect *tp = new prodect;</p><p>  tp = p_head->next;</p><p>  int k = 0;</p><p>  while (tp)</p><p><b>  {</b></p><p>  if (tp->name

33、 == sp->proname)</p><p><b>  {</b></p><p>  int m_max = sp->pronum + tp->num;</p><p>  if (m_max > tp->maxnumber)</p><p><b>  {</b&g

34、t;</p><p><b>  k = 1;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  k = 2;</b></p><p>  tp->n

35、um = m_max;</p><p>  sp->next = i_head->next;</p><p>  i_head->next = sp;</p><p><b>  break;</b></p><p><b>  }</b></p><p>

36、  tp = tp->next;</p><p><b>  }</b></p><p>  if ( k ==0 )</p><p><b>  {</b></p><p>  cout<<"沒有你輸入的產(chǎn)品信息。"<<endl;</p>

37、;<p><b>  }</b></p><p>  if ( k == 1)</p><p><b>  {</b></p><p>  cout<<"入庫失敗,產(chǎn)品"<<tp->name<<"已達上限。"<<en

38、dl;</p><p><b>  }</b></p><p>  if ( k == 2 )</p><p><b>  {</b></p><p>  i_number = i_number + 1;</p><p>  cout<<"產(chǎn)品入庫成功。

39、"<<endl;</p><p><b>  }</b></p><p><b>  }</b></p><p>  這個函數(shù)是產(chǎn)品入庫函數(shù),用于產(chǎn)品的入庫,入庫時必須對入庫產(chǎn)品進行判斷,已初始化的產(chǎn)品才能入庫,入庫時不能超過庫存的警界上限。</p><p><b>

40、  產(chǎn)品出庫函數(shù):</b></p><p>  void output()</p><p><b>  {</b></p><p>  list *sp = new list;</p><p>  cout<<"請?zhí)顚懗鰩靻涡畔ⅰ?quot;<<endl;</p>

41、<p>  cout<<"請輸出庫單的編號:";</p><p>  cin>>sp->no;</p><p>  cout<<"產(chǎn)品出庫人:";</p><p>  cin>>sp->name;</p><p>  cout&l

42、t;<"出庫產(chǎn)品名字:";</p><p>  cin>>sp->proname;</p><p>  cout<<"出庫產(chǎn)品數(shù)量:";</p><p>  cin>>sp->pronum;</p><p>  cout<<"出

43、庫的年:";</p><p>  cin>>sp->year;</p><p>  cout<<"出庫的月:";</p><p>  cin>>sp->month;</p><p>  prodect *tp = new prodect;</p>&l

44、t;p>  tp = p_head->next;</p><p>  int k = 0;</p><p>  while (tp)</p><p><b>  {</b></p><p>  if (tp->name == sp->proname)</p><p><

45、;b>  {</b></p><p>  int m_min = tp->num - sp->pronum;</p><p>  if (m_min < tp->minnumber)</p><p><b>  {</b></p><p><b>  k = 1;<

46、;/b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  k = 2;</b></p><p>  tp->num = m_min;</p><p>  sp->ne

47、xt = o_head->next;</p><p>  o_head->next = sp;</p><p><b>  break;</b></p><p><b>  }</b></p><p>  tp = tp->next;</p><p><

48、;b>  }</b></p><p>  if ( k ==0 )</p><p><b>  {</b></p><p>  cout<<"沒有你輸入的產(chǎn)品信息。"<<endl;</p><p><b>  }</b></p>

49、;<p>  if ( k == 1)</p><p><b>  {</b></p><p>  cout<<"出庫失敗,產(chǎn)品"<<tp->name<<"已達下限。"<<endl;</p><p><b>  }</b&

50、gt;</p><p>  if ( k == 2 )</p><p><b>  {</b></p><p>  o_number = o_number + 1;</p><p>  cout<<"產(chǎn)品出庫成功。"<<endl;</p><p><

51、;b>  }</b></p><p><b>  }</b></p><p>  這個函數(shù)是產(chǎn)品出庫函數(shù),用于產(chǎn)品的出庫,出庫時必須對出庫產(chǎn)品進行判斷,已初始化的產(chǎn)品才能出庫,出庫時不能低于庫存的警界下限。</p><p><b>  產(chǎn)品借出函數(shù):</b></p><p>  v

52、oid brow()</p><p><b>  {</b></p><p>  borlist *sp = new borlist;</p><p>  cout<<"請?zhí)顚懡鑶涡畔ⅰ?quot;<<endl;</p><p>  cout<<"請輸出借單的編號:

53、";</p><p>  cin>>sp->no;</p><p>  cout<<"借單填寫人:";</p><p>  cin>>sp->name;</p><p>  cout<<"借單的年:";</p><

54、p>  cin>>sp->year;</p><p>  cout<<"借單的月:";</p><p>  cin>>sp->month;</p><p>  cout<<"借出產(chǎn)品的名字:";</p><p>  cin>>

55、sp->proname;</p><p>  cout<<"借出產(chǎn)品的數(shù)量:";</p><p>  cin>>sp->number;</p><p>  cout<<"應還的年:";</p><p>  cin>>sp->tyear;&

56、lt;/p><p>  cout<<"應還的月:";</p><p>  cin>>sp->tmonth;</p><p>  prodect *tp = new prodect;</p><p>  tp = p_head->next;</p><p>  int

57、k = 0;</p><p>  while (tp)</p><p><b>  {</b></p><p>  if (tp->name == sp->proname)</p><p><b>  {</b></p><p>  int m_min = tp-

58、>num - sp->number;</p><p>  if (m_min < tp->minnumber)</p><p><b>  {</b></p><p><b>  k = 1;</b></p><p><b>  break;</b>&l

59、t;/p><p><b>  }</b></p><p><b>  k = 2;</b></p><p>  tp->num = m_min;</p><p>  sp->next = b_head->next;</p><p>  b_head->ne

60、xt = sp;</p><p><b>  break;</b></p><p><b>  }</b></p><p>  tp = tp->next;</p><p><b>  }</b></p><p>  if ( k ==0 )<

61、;/p><p><b>  {</b></p><p>  cout<<"沒有你輸入的產(chǎn)品信息。"<<endl;</p><p><b>  }</b></p><p>  if ( k == 1)</p><p><b> 

62、 {</b></p><p>  cout<<"借出失敗,產(chǎn)品"<<tp->name<<"已達下限。"<<endl;</p><p><b>  }</b></p><p>  if ( k == 2 )</p><p&

63、gt;<b>  {</b></p><p>  b_number = b_number + 1;</p><p>  cout<<"產(chǎn)品借出成功。"<<endl;</p><p><b>  }</b></p><p><b>  }<

64、;/b></p><p>  void takein()</p><p><b>  {</b></p><p><b>  int m_no;</b></p><p>  string m_name;</p><p>  int m_count;</p>

65、<p>  cout<<"請輸入借單的編號:";</p><p>  cin>>m_no;</p><p>  borlist *sp = new borlist;</p><p>  borlist *mp = new borlist;</p><p>  sp = b_head-&g

66、t;next;</p><p>  mp = b_head;</p><p>  int mm = 0;</p><p>  while (sp)</p><p><b>  {</b></p><p>  if (sp->no == m_no)</p><p>&l

67、t;b>  {</b></p><p><b>  mm = 1;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  mp = sp;</b></p>

68、<p>  sp = sp->next;</p><p><b>  }</b></p><p>  if (mm == 0)</p><p><b>  {</b></p><p>  cout<<"你輸入的借單編號不存在。"<<en

69、dl;</p><p><b>  }</b></p><p>  if ( mm == 1 )</p><p><b>  {</b></p><p>  prodect *tp = new prodect;</p><p>  tp = p_head->next;&

70、lt;/p><p>  while (tp)</p><p><b>  {</b></p><p>  if (tp->name == sp->proname)</p><p><b>  {</b></p><p>  m_name = tp->name;&

71、lt;/p><p>  m_count = tp->num;</p><p><b>  break;</b></p><p><b>  }</b></p><p>  tp = tp->next;</p><p><b>  }</b><

72、;/p><p>  cout<<"你應還的產(chǎn)品是"<<m_name<<"數(shù)量是"<<sp->number<<endl;</p><p>  int t_number;</p><p>  cout<<"請輸入你要還的產(chǎn)品的數(shù)量:";&

73、lt;/p><p>  cin>>t_number;</p><p>  int m_maxnumber = t_number + m_count;</p><p>  if (m_maxnumber > tp->maxnumber)</p><p><b>  {</b></p>&l

74、t;p>  cout<<"還產(chǎn)品失敗,產(chǎn)品已達上限。"<<endl;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  int ss

75、 = sp->number - t_number;</p><p><b>  if (ss>0)</b></p><p><b>  {</b></p><p>  tp->num = m_maxnumber;</p><p>  cout<<"產(chǎn)品歸還成功

76、,還欠數(shù)量為"<<ss<<endl;</p><p>  sp->number = ss;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p>

77、<p>  tp->num = m_maxnumber;</p><p>  mp->next = sp->next;</p><p>  cout<<"產(chǎn)品歸還成功,產(chǎn)品已還清。"<<endl;</p><p>  b_number = b_number - 1;</p>

78、<p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  6 系統(tǒng)測試</b></p>

79、<p>  首先進入VC++6.0,打開工作區(qū)文件“l(fā)ijun.cpp”,然后運行程序。</p><p>  初始界面,提示用戶輸入選擇。</p><p><b>  如圖6.1</b></p><p>  用戶輸入1-選擇學生檔案信息錄入。</p><p><b>  如圖6.2</b>

80、</p><p>  用戶輸入2、3選擇姓名、學號查詢具體信息。</p><p><b>  如圖6.3</b></p><p>  用戶輸入4,修改原學生檔案信息。</p><p><b>  如圖6.4</b></p><p>  用戶輸入5插入新學生信息。</p&

81、gt;<p><b>  如圖6.5</b></p><p>  用戶輸入6選擇刪除相關檔案信息。</p><p><b>  如圖6.6</b></p><p>  用戶輸入0,退出系統(tǒng)。 </p><p><b>  7結論與心得</b></p>

82、<p>  隨著計算機軟硬件的不斷發(fā)展,導航系統(tǒng)在客戶需求中的應用已成必然。</p><p>  本系統(tǒng)在開發(fā)中也是嚴格按照圖書管理的實際情況進行開發(fā)的,在開發(fā)中,查閱了很多相關的算法資料,鞏固了數(shù)據(jù)結構、C語言和C++方面的知識,同時也學習了新的算法知識。最重要的是在開發(fā)過程中,通過不斷地學習,不斷提高自己編程能力和實際應用能力,還有助于改善自己的邏輯思維能力,這對自己以后對軟件的開發(fā)提供很大的幫助

83、。另外通過此次課程的設計使我認識到對知識的掌握不全面,即在學習專業(yè)知識的同時還需要再加強其他方面知識的學習,因為軟件的開發(fā)有時候涉及到其他方面的知識,只有了解了其他方面的知識才能收集資料,然后用于軟件開發(fā)。</p><p><b>  8 致謝</b></p><p>  感謝xx老師在這次課程設計中提供的幫助,也感謝幫助過我的每個同學和網(wǎng)友。9參考文獻</p&

84、gt;<p>  [1] 嚴蔚敏,吳偉民.數(shù)據(jù)結構.清華大學出版社出版。 </p><p>  [2] 嚴蔚敏,吳偉民. 數(shù)據(jù)結構題集(C語言版) .清華大學出版社.2003年5月。</p><p>  [3] 唐策善,李龍澎.數(shù)據(jù)結構(作C語言描述) .高等教育出版社.2001年9月。</p><p>  [4] 朱戰(zhàn)立.數(shù)據(jù)結構(C++語言描述)

溫馨提示

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

評論

0/150

提交評論