c++圖書管理系統(tǒng)課程設計_第1頁
已閱讀1頁,還剩54頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  課 程 設 計 報 告</p><p>  課程名稱 面向對象程序設計 </p><p>  課題名稱 圖書管理系統(tǒng) </p><p>  專 業(yè) 計算機科學與技術 </p><p>  班 級 計算機1202班

2、 </p><p>  一、設計內容與設計要求</p><p><b>  1.課程設計目的:</b></p><p>  面向對象程序設計課程設計是集中實踐性環(huán)節(jié)之一,是學習完《面向對象程序設計》課程后進行的一次全面的綜合練習。要求學生達到熟練掌握C++語言的基本知識和技能;基本掌握面向對象程序設計的思想和方法;能夠利用所學的基本

3、知識和技能,解決簡單的面向對象程序設計問題,從而提高動手編程解決實際問題的能力。</p><p><b>  2.課題題目</b></p><p>  1)公司庫存管理系統(tǒng)</p><p>  2)高校學籍管理系統(tǒng)</p><p>  3)高校工資管理系統(tǒng)</p><p>  4)高校人事管理系統(tǒng)

4、</p><p>  5)學生成績管理系統(tǒng)</p><p><b>  6) 圖書管理系統(tǒng)</b></p><p>  7)學生考勤管理系統(tǒng)</p><p>  8)公司人員管理系統(tǒng)</p><p><b>  3.設計要求:</b></p><p>

5、  ⑴ 設計課題題目:每位同學根據自己學號除以8所得的余數加一選擇相應題號的課題。擅自換題者不記成績。</p><p> ?、?根據自己對應的課題完成以下主要工作:①完成系統(tǒng)需求分析:包括系統(tǒng)設計目的與意義;系統(tǒng)功能需求(系統(tǒng)流程圖);輸入輸出的要求。②完成系統(tǒng)總體設計:包括系統(tǒng)功能分析;系統(tǒng)功能模塊劃分與設計(系統(tǒng)功能模塊圖)。③完成系統(tǒng)詳細設計:包括數據庫需求分析;類層次圖;界面設計與各功能模塊實現。④系統(tǒng)調

6、試:調試出現的主要問題,編譯語法錯誤及修改,重點是運行邏輯問題修改和調整。⑤使用說明書及編程體會:說明如何使用你編寫的程序,詳細列出每一步的操作步驟。⑥關鍵源程序(帶注釋)</p><p>  ⑶ 按規(guī)定格式完成課程設計報告,將其打印稿(A4紙)上交給老師存檔。</p><p> ?、?不得抄襲他人程序、課程設計報告,每個人應體現自己的個性設計。</p><p>&

7、lt;b>  二、進度安排</b></p><p>  第 17 周 星期一 8:00——12:00</p><p>  星期二 8:00——12:00</p><p>  星期四 8:00——12:00</p><p>  第 18 周 星期一 8:00——12:00</p><p> 

8、 星期二 14:30——18:30</p><p>  星期三 8:00——12:00</p><p><b>  三、參考書籍</b></p><p>  1.《C++程序設計課程設計》 劉振安編著 TP312C563</p><p>  2.《C++ Builder和Delphi課程設計與系統(tǒng)開發(fā)案例》 伍俊良

9、 清華大學出版社 7-302-06072-X </p><p>  3.Visual C++課程設計案例精編 嚴華峰 中國水利水電出版社 7-5084-2007-1 2004 </p><p>  4.Visual C++課程設計與系統(tǒng)開發(fā)案例 伍俊良 清華大學出版社 7-302-05968-3 2002</p><p>  5.Visual C

10、++語言課程設計 : 案例精選與編程指導 陳清華朱紅 東南大學出版社 7-81089-275-4 2003 </p><p>  6.VisualC++課程設計案例精編 中國水利水電出版社 7-5084-1004-1 2002 </p><p>  7.數據結構課程設計案例精編 : 用C/C++描述 李建學李光元吳春芳 清華大學出版社 7-302-14536-9

11、 2007 </p><p> ?。ň幊唐脚_不限,vc++, c++ Builder等等。)</p><p>  課題1:公司庫存管理系統(tǒng) </p><p>  (一)、課程設計題目:</p><p>  某公司的庫存管理系統(tǒng)</p><p>  (二)、目的與要求: </p><p>&l

12、t;b>  1、目的: </b></p><p> ?。?)要求學生達到熟練掌握C++語言的基本知識和技能; </p><p> ?。?)基本掌握面向對象程序設計的基本思路和方法; </p><p>  (3)能夠利用所學的基本知識和技能,解決簡單的面向對象程序設計問題。 </p><p><b>  2、基本要求

13、: </b></p><p>  (1)要求利用面向對象的方法以及C++的編程思想來完成系統(tǒng)的設計; </p><p>  (2)要求在設計的過程中,建立清晰的類層次; </p><p>  (3)在系統(tǒng)中至少要定義四個類,每個類中要有各自的屬性和方法; </p><p> ?。?)在系統(tǒng)的設計中,至少要用到面向對象的一種機制。

14、</p><p><b>  3、創(chuàng)新要求: </b></p><p>  在基本要求達到后,可進行創(chuàng)新設計,如根據查找結果進行修改的功能。 </p><p>  4、寫出設計說明書 </p><p> ?。ㄈ⒃O計方法和基本原理: </p><p>  1、問題描述(功能要求): </p

15、><p>  某公司現有以下設備:普通電視機、DVD、帶DVD的電視機,帶DVD的電視機的售價為普通電視機和DVD單價之和的80%,要求對所有的庫存設備都能按照品名進行顯示、查找、增加和刪除、保存的功能。 </p><p>  2、問題的解決方案: </p><p>  根據系統(tǒng)功能要求,可以將問題解決分為以下步驟: </p><p> ?。?)

16、分析系統(tǒng)中的各個實體之間的關系及其屬性和行為; </p><p>  (2)根據問題描述,設計系統(tǒng)的類層次; </p><p> ?。?)完成類層次中各個類的描述(包括屬性和方法); </p><p> ?。?)完成類中各個成員函數的定義; </p><p>  (5)完成系統(tǒng)的應用模塊; </p><p><b

17、> ?。?)功能調試; </b></p><p>  (7)完成系統(tǒng)總結報告以及系統(tǒng)使用說明書。 </p><p>  課題2:高校學籍管理系統(tǒng) </p><p> ?。ㄒ唬⒄n程設計題目:</p><p><b>  高校學籍管理系統(tǒng)</b></p><p> ?。ǘ?、目的與

18、要求: </p><p><b>  1、目的: </b></p><p> ?。?)要求學生達到熟練掌握C++語言的基本知識和技能; </p><p> ?。?)基本掌握面向對象程序設計的基本思路和方法; </p><p> ?。?)能夠利用所學的基本知識和技能,解決簡單的面向對象程序設計問題。 </p>

19、<p><b>  2、基本要求: </b></p><p> ?。?)要求利用面向對象的方法以及C++的編程思想來完成系統(tǒng)的設計;</p><p> ?。?)要求在設計的過程中,建立清晰的類層次; </p><p> ?。?)在系統(tǒng)的設計中,至少要用到面向對象的一種機制。</p><p><b>

20、  3、創(chuàng)新要求: </b></p><p>  在基本要求達到后,可進行創(chuàng)新設計,如根據查找結果進行修改的功能。 </p><p>  4、寫出設計說明書 </p><p> ?。ㄈ?、設計方法和基本原理: </p><p>  1、問題描述(功能要求): </p><p> ?。?)能夠從屏幕上讀取一個

21、學生的信息并將信息存入到數據文件中。</p><p> ?。?)能夠將指定的信息從文件中刪除。</p><p>  (3)能夠按編號、姓名對學生的信息進行檢索并將檢索結果顯示在屏幕上。</p><p> ?。?)可以統(tǒng)計全部學生的總成績,及其在班上的排名。</p><p> ?。?)能夠統(tǒng)計各科的平均成績及及格率。</p>&l

22、t;p>  (6)要求有錯誤提示功能,例如性別只能輸入男女,輸入錯誤提示重新輸入。</p><p> ?。?)如果檢索不到相應的信息應提示用戶。 </p><p>  2、問題的解決方案: </p><p>  根據系統(tǒng)功能要求,可以將問題解決分為以下步驟: </p><p> ?。?)寫出需求分析(做什么);</p>&

23、lt;p> ?。?)分析系統(tǒng)中的各個實體之間的關系及其屬性和行為; </p><p> ?。?)根據問題描述,設計系統(tǒng)的類層次; </p><p> ?。?)完成類層次中各個類的描述(包括屬性和方法); </p><p>  (5)完成類中各個成員函數的定義; </p><p>  (6)用戶界面的設計; </p><

24、;p>  (7)分析系統(tǒng)功能模塊(系統(tǒng)流程圖);</p><p>  (8)代碼編寫,功能調試;</p><p>  (9)完成系統(tǒng)總結報告以及系統(tǒng)使用說明書。</p><p>  課題3:高校工資管理系統(tǒng) </p><p> ?。ㄒ唬?、課程設計題目:</p><p><b>  高校工資管理系統(tǒng)<

25、;/b></p><p> ?。ǘ?、目的與要求: </p><p><b>  1、目的: </b></p><p> ?。?)要求學生達到熟練掌握C++語言的基本知識和技能; </p><p> ?。?)基本掌握面向對象程序設計的基本思路和方法; </p><p>  (3)能夠利用所學

26、的基本知識和技能,解決簡單的面向對象程序設計問題。 </p><p><b>  2、基本要求: </b></p><p> ?。?)要求利用面向對象的方法以及C++的編程思想來完成系統(tǒng)的設計; </p><p> ?。?)要求在設計的過程中,建立清晰的類層次; </p><p> ?。?)在系統(tǒng)中至少要定義四個類,每個

27、類中要有各自的屬性和方法; </p><p> ?。?)在系統(tǒng)的設計中,至少要用到面向對象的一種機制。 </p><p><b>  3、創(chuàng)新要求: </b></p><p>  在基本要求達到后,可進行創(chuàng)新設計,如根據查找結果進行修改的功能。 </p><p>  4、寫出設計說明書 </p><p

28、> ?。ㄈ?、設計方法和基本原理: </p><p>  1、問題描述(功能要求): </p><p>  現一高校有五類職工:教師,實驗員,行政人員,教師兼職實驗員,行政人員兼職教師。為了實現工資發(fā)放的自動功能,現要求編寫程序來自動完成此功能。同時注意生成的相關數據結果以文件方式存放在硬盤中。程序應具備從鍵盤錄入,文件的可繼續(xù)錄入,任意職工的工資查詢(可由職工編號和職工姓名來實現)

29、,如若有職工由于工作調動,則可進行相對應的刪除動作。</p><p><b>  相關信息:</b></p><p>  每一學期將學校職工的本學期任職情況及上學期工作的相關情況輸入計算機,則本學期職工的月工資按程序處理后的結果發(fā)放,其中職工的工資計算方法如下:</p><p>  其中工資的基本構成如下:</p><p&g

30、t;  教師: 基本工資+課時費;</p><p>  實驗員: 基本工資+實驗室補助;</p><p>  行政人員: 基本工資+行政補貼;</p><p>  教師兼職實驗員: 基本工資+課時費+實驗室補助;</p><p>  行政人員兼職教師:基本工資+行政補貼+課時費;<

31、/p><p><b>  (其中:</b></p><p> ?。?)課時費:教師每一學期的基本工作量為120,實驗員每學期基本工作量為70,行政人員沒有基本工作量,每節(jié)課時費為20元;課時費=(上學期工作量-基本工作量)*20;</p><p>  注意:如果上學期基本工作量沒完成,則其(上學期工作量-基本工作量)*20為負值。</p>

32、;<p>  (2)基本工資:教師800元,實驗員650元,行政人員750元。</p><p> ?。?)行政補貼:250元。</p><p> ?。?)實驗室補助:150元。</p><p>  2、問題的解決方案: </p><p>  根據系統(tǒng)功能要求,可以將問題解決分為以下步驟: </p><p>

33、; ?。?)寫出需求分析(做什么);</p><p> ?。?)分析系統(tǒng)中的各個實體之間的關系及其屬性和行為; </p><p> ?。?)根據問題描述,設計系統(tǒng)的類層次; </p><p>  (4)完成類層次中各個類的描述(包括屬性和方法); </p><p>  (5)完成類中各個成員函數的定義; </p><p&g

34、t; ?。?)用戶界面的設計; </p><p> ?。?)分析系統(tǒng)功能模塊(系統(tǒng)流程圖);</p><p> ?。?)代碼編寫 ,功能調試;</p><p> ?。?)完成系統(tǒng)總結報告以及系統(tǒng)使用說明書。</p><p>  課題4:高校人事管理系統(tǒng) </p><p> ?。ㄒ唬?、課程設計題目:</p>

35、<p><b>  高校人事管理系統(tǒng)</b></p><p> ?。ǘ?、目的與要求: </p><p><b>  1、目的: </b></p><p>  (1)要求學生達到熟練掌握C++語言的基本知識和技能; </p><p> ?。?)基本掌握面向對象程序設計的基本思路和方法;

36、</p><p>  (3)能夠利用所學的基本知識和技能,解決簡單的面向對象程序設計問題。 </p><p><b>  2、基本要求: </b></p><p> ?。?)要求利用面向對象的方法以及C++的編程思想來完成系統(tǒng)的設計; </p><p> ?。?)要求在設計的過程中,建立清晰的類層次; </p>

37、;<p>  (3)在系統(tǒng)中至少要定義四個類,每個類中要有各自的屬性和方法; </p><p> ?。?)在系統(tǒng)的設計中,至少要用到面向對象的一種機制。 </p><p><b>  3、創(chuàng)新要求: </b></p><p>  在基本要求達到后,可進行創(chuàng)新設計,如根據查找結果進行修改的功能。 </p><p&

38、gt;  4、寫出設計說明書 </p><p> ?。ㄈ?、設計方法和基本原理: </p><p>  1、問題描述(功能要求): </p><p>  某高校,主要人員有:在職人員(行政人員、教師、一般員工)、退休人員、返聘人員和臨時工?,F在,需要存儲這些人員的人事檔案信息:編號、姓名、性別、年齡、職務、職稱、政治面貌、最高學歷、任職時間、來院時間。</p&

39、gt;<p><b>  要求: </b></p><p> ?。?)添加刪除功能:能根據學院人事的變動情況,添加刪除記錄;</p><p> ?。?)查詢功能:能根據編號和姓名進行查詢;</p><p> ?。?)編輯功能(高級):根據查詢對相應的記錄進行修改,并存儲;</p><p> ?。?)統(tǒng)計功能

40、:能根據多種參數進行人員的統(tǒng)計(在職人數、黨員人數、女工人數、高學歷高職稱人數);</p><p> ?。?)保存功能:能對輸入的數據進行相應的存儲,要求重載插入和提取符以完成數據的保存和打開。</p><p> ?。?)人員編號在生成人員信息時同時生成,每輸入一個人員信息編號順序加1。</p><p>  2、問題的解決方案: </p><p&

41、gt;  根據系統(tǒng)功能要求,可以將問題解決分為以下步驟: </p><p>  (1)應用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設計;</p><p> ?。?)分析系統(tǒng)中的各個實體及它們之間的關系包括屬性和行為; </p><p> ?。?)根據問題描述,設計系統(tǒng)的類層次; </p><p> ?。?)完成類層次中各個類的描述(

42、包括屬性和方法); </p><p>  (5)完成類中各個成員函數的定義; </p><p> ?。?)完成系統(tǒng)的應用模塊; </p><p><b> ?。?)功能調試; </b></p><p> ?。?)完成系統(tǒng)總結報告以及系統(tǒng)使用說明書。</p><p>  課題5:學生成績管理系統(tǒng)&l

43、t;/p><p> ?。ㄒ唬?、課程設計題目:</p><p><b>  學生成績管理系統(tǒng)</b></p><p>  (二)、目的與要求: </p><p><b>  1、目的: </b></p><p>  (1)要求學生達到熟練掌握C++語言的基本知識和技能; </

44、p><p> ?。?)基本掌握面向對象程序設計的基本思路和方法; </p><p> ?。?)能夠利用所學的基本知識和技能,解決簡單的面向對象程序設計問題。 </p><p><b>  2、基本要求: </b></p><p> ?。?)要求利用面向對象的方法以及C++的編程思想來完成系統(tǒng)的設計; </p>

45、<p> ?。?)要求在設計的過程中,建立清晰的類層次; </p><p> ?。?)在系統(tǒng)中至少要定義四個類,每個類中要有各自的屬性和方法; </p><p> ?。?)在系統(tǒng)的設計中,至少要用到面向對象的一種機制。 </p><p><b>  3、創(chuàng)新要求: </b></p><p>  在基本要求達到后

46、,可進行創(chuàng)新設計,如根據查找結果進行修改的功能。 </p><p>  4、寫出設計說明書 </p><p> ?。ㄈ⒃O計方法和基本原理: </p><p>  1、問題描述(功能要求): </p><p>  設計一個實用的小型學生成績管理程序,具有查詢,檢索和刪除功能,并且能夠打開或修改指定文件及將多個文件組成一個文件。它完全使用類來

47、實現,充分體現面向對象的程序設計特點。</p><p><b>  要求: </b></p><p>  實現主要功能:建立文件,文件的存取和顯示,刪除記錄,查詢記錄??梢噪S時檢索,刪除,或增加記錄,也可以保存或取消新的記錄。</p><p>  2、問題的解決方案: </p><p>  根據系統(tǒng)功能要求,可以將問題解

48、決分為以下步驟: </p><p> ?。?)應用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設計;</p><p> ?。?)分析系統(tǒng)中的各個實體及它們之間的關系包括屬性和行為; </p><p> ?。?)根據問題描述,設計系統(tǒng)的類層次; </p><p>  (4)完成類層次中各個類的描述(包括屬性和方法); </p>

49、<p>  (5)完成類中各個成員函數的定義; </p><p>  (6)完成系統(tǒng)的應用模塊; </p><p><b> ?。?)功能調試; </b></p><p> ?。?)完成系統(tǒng)總結報告以及系統(tǒng)使用說明書。</p><p>  課題6:圖書管理系統(tǒng)</p><p>  (

50、一)、課程設計題目:</p><p><b>  圖書管理系統(tǒng)</b></p><p> ?。ǘ?、目的與要求: </p><p><b>  1、目的: </b></p><p> ?。?)要求學生達到熟練掌握C++語言的基本知識和技能; </p><p> ?。?)基本掌

51、握面向對象程序設計的基本思路和方法; </p><p> ?。?)能夠利用所學的基本知識和技能,解決簡單的面向對象程序設計問題。 </p><p><b>  2、基本要求: </b></p><p>  (1)要求利用面向對象的方法以及C++的編程思想來完成系統(tǒng)的設計; </p><p>  (2)要求在設計的過程中,

52、建立清晰的類層次; </p><p> ?。?)在系統(tǒng)中至少要定義四個類,每個類中要有各自的屬性和方法; </p><p> ?。?)在系統(tǒng)的設計中,至少要用到面向對象的一種機制。 </p><p><b>  3、創(chuàng)新要求: </b></p><p>  在基本要求達到后,可進行創(chuàng)新設計,如根據查找結果進行修改的功能。

53、 </p><p>  4、寫出設計說明書 </p><p> ?。ㄈ⒃O計方法和基本原理: </p><p>  1、問題描述(功能要求): </p><p>  在圖書管理系統(tǒng)中,要為每個借閱者建立一個賬戶,并給借閱者發(fā)放借閱卡(借閱卡可以提供借閱卡號、借閱者名),賬戶中存儲借閱者的個人信息、借閱信息以及預定信息。持有借閱卡的借閱者可以

54、借閱書刊、返還書刊、查詢書刊信息、預定書刊并取消預定,但這些操作都是通過圖書管理員進行的,也即借閱者不直接與系統(tǒng)交互,而是圖書管理員充當借閱者的代理與系統(tǒng)交互。在借閱書刊時,需要輸入所借閱的書刊名,書刊的ISBN/ISSN號,然后輸入借閱者的圖書卡號和借閱者名,完成后提交所填表格,系統(tǒng)驗證借閱者是否有效(在系統(tǒng)中存在賬戶),若有效,借閱請求被接受,系統(tǒng)查詢數據庫系統(tǒng),看借閱者所借閱的書刊是否存在,若存在,則借閱者可借出書刊,建立并在系統(tǒng)

55、中存儲借閱記錄。借閱者還書后,刪除關于所還書刊的借閱記錄。如果借閱者所借的書刊已被借出,借閱者還可預定該書刊,一旦借閱者預定的書刊可以獲得,就將書刊直接寄給預定人(為了簡化系統(tǒng),預定書刊可獲得時就不通知借閱者了)。另外,為了簡化系統(tǒng),也不考慮書刊的最長借閱期限,假設借閱者可以無限期地保存所借閱的書刊。</p><p>  2、問題的解決方案: </p><p>  根據系統(tǒng)功能要求,可以將

56、問題解決分為以下步驟: </p><p> ?。?)應用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設計;</p><p> ?。?)分析系統(tǒng)中的各個實體及它們之間的關系包括屬性和行為; </p><p>  (3)根據問題描述,設計系統(tǒng)的類層次; </p><p> ?。?)完成類層次中各個類的描述(包括屬性和方法); </p&

57、gt;<p>  (5)完成類中各個成員函數的定義; </p><p> ?。?)完成系統(tǒng)的應用模塊; </p><p><b>  (7)功能調試; </b></p><p>  (8)完成系統(tǒng)總結報告以及系統(tǒng)使用說明書。</p><p>  課題7:學生考勤管理系統(tǒng)</p><p&g

58、t;  (一)、課程設計題目:</p><p>  學生考勤管理系統(tǒng) </p><p>  (二)、目的與要求: </p><p><b>  1、目的: </b></p><p> ?。?)要求學生達到熟練掌握C++語言的基本知識和技能; </p><p> ?。?)基本掌握面向對象程序設計的

59、基本思路和方法; </p><p> ?。?)能夠利用所學的基本知識和技能,解決簡單的面向對象程序設計問題。 </p><p><b>  2、基本要求: </b></p><p> ?。?)要求利用面向對象的方法以及C++的編程思想來完成系統(tǒng)的設計; </p><p>  (2)要求在設計的過程中,建立清晰的類層次;

60、</p><p> ?。?)在系統(tǒng)中至少要定義四個類,每個類中要有各自的屬性和方法; </p><p> ?。?)在系統(tǒng)的設計中,至少要用到面向對象的一種機制。 </p><p><b>  3、創(chuàng)新要求: </b></p><p>  在基本要求達到后,可進行創(chuàng)新設計,如根據查找結果進行修改的功能。 </p>

61、;<p>  4、寫出設計說明書 </p><p>  (三)、設計方法和基本原理: </p><p>  1、問題描述(功能要求): </p><p>  考勤信息記錄了學生的缺課情況,它包括:缺課日期、第幾節(jié)課(連續(xù)多節(jié)課用 begin-end 的形式表示)、課程名稱(課程名稱中不會出現空格)、學生姓名、缺課類型(遲到、早退、請假及曠課)。試設計考

62、勤管理系統(tǒng),使之能提供以下功能:</p><p>  1).錄入學生的缺課記錄:從鍵盤輸入數據(提示:為避免重復從鍵盤輸入數據,測試時可將數據存儲在文件中,利用輸入重定向功能讀入),輸入格式為:</p><p>  缺課日期第幾節(jié)課 課程名稱學生姓名 缺課類型</p><p><b>  每行一條紀錄。</b></p><p

63、><b>  例如:</b></p><p>  2008-04-29 3-4 C++程序設計實驗 張三 遲到</p><p>  2008-04-28 3-4 C++程序設計 李四 曠課</p><p>  2).修改某個學生的缺課記錄:可以對缺課紀錄的任意部分進行修改,然后顯示一下修改后的紀錄。</p><p>

64、;  3).查詢某個學生的缺課情況:查詢結果按照日期升序排序,同一天內按照所缺課程的時間升序排序。</p><p>  4).統(tǒng)計某段時間內(以天為單位),曠課學生姓名及曠課節(jié)數,查詢結果先按曠課節(jié)數降序排序,曠課節(jié)數相同的學生按姓名升序排序;</p><p>  5).統(tǒng)計某段時間內,有學生曠課的課程及曠課人次,按曠課人次由多到少排序,曠課人次相同的課程按課程名稱升序排序; </

65、p><p>  6).系統(tǒng)以菜單方式工作。(所謂菜單指用戶可以自由選擇所要執(zhí)行的功能)</p><p>  2、問題的解決方案: </p><p>  根據系統(tǒng)功能要求,可以將問題解決分為以下步驟: </p><p> ?。?)應用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設計;</p><p> ?。?)分析系統(tǒng)

66、中的各個實體及它們之間的關系包括屬性和行為; </p><p> ?。?)根據問題描述,設計系統(tǒng)的類層次; </p><p>  (4)完成類層次中各個類的描述(包括屬性和方法); </p><p> ?。?)完成類中各個成員函數的定義; </p><p> ?。?)完成系統(tǒng)的應用模塊; </p><p><b&

67、gt;  (7)功能調試; </b></p><p> ?。?)完成系統(tǒng)總結報告以及系統(tǒng)使用說明書。</p><p>  課題8:公司人員管理系統(tǒng)</p><p> ?。ㄒ唬?、課程設計題目:</p><p><b>  公司人員管理系統(tǒng)</b></p><p>  (二)、目的與要求:

68、 </p><p><b>  1、目的: </b></p><p> ?。?)要求學生達到熟練掌握C++語言的基本知識和技能; </p><p> ?。?)基本掌握面向對象程序設計的基本思路和方法; </p><p> ?。?)能夠利用所學的基本知識和技能,解決簡單的面向對象程序設計問題。 </p>&l

69、t;p><b>  2、基本要求: </b></p><p>  (1)要求利用面向對象的方法以及C++的編程思想來完成系統(tǒng)的設計; </p><p> ?。?)要求在設計的過程中,建立清晰的類層次; </p><p> ?。?)在系統(tǒng)中至少要定義四個類,每個類中要有各自的屬性和方法; </p><p> ?。?)

70、在系統(tǒng)的設計中,至少要用到面向對象的一種機制。 </p><p><b>  3、創(chuàng)新要求: </b></p><p>  在基本要求達到后,可進行創(chuàng)新設計,如根據查找結果進行修改的功能。 </p><p>  4、寫出設計說明書 </p><p> ?。ㄈ?、設計方法和基本原理: </p><p&g

71、t;  1、問題描述(功能要求): </p><p>  公司人員管理系統(tǒng)實現對公司人員按姓名或者編號顯示、查找、增加、刪除和保存各類人員信息的操作。 </p><p>  某小型公司,主要有四類人員:經理、兼職技術人員、銷售經理和兼職推銷員。現在,需要存儲這些人員的姓名、編號、級別、當月薪水,計算月薪總額并顯示全部信息。 </p><p>  人員編號在生成人員信

72、息時同時生成,每輸入一個人員信息編號順序加1。 </p><p>  程序對所有人員有提升級別的功能 。</p><p>  薪金的計算方法是:經理拿固定月薪,兼職技術人員按工作小時數領取月薪,兼職推銷員的報酬按該推銷員當月銷售額提成 ,銷售經理既拿固定月薪也領取銷售提成。 </p><p>  能按姓名或者編號顯示、查找、增加、刪除和保存各類人員的信息 。在基本要

73、求達到后,可設計出比較友好的界面(如下拉菜單),也可用VC++ ClassWizard 設計(選作)。</p><p>  2、問題的解決方案: </p><p>  根據系統(tǒng)功能要求,可以將問題解決分為以下步驟: </p><p> ?。?)應用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設計;</p><p> ?。?)分析系統(tǒng)中的

74、各個實體及它們之間的關系包括屬性和行為; </p><p> ?。?)根據問題描述,設計系統(tǒng)的類層次; </p><p> ?。?)完成類層次中各個類的描述(包括屬性和方法); </p><p>  (5)完成類中各個成員函數的定義; </p><p>  (6)完成系統(tǒng)的應用模塊; </p><p><b>

75、; ?。?)功能調試; </b></p><p> ?。?)完成系統(tǒng)總結報告以及系統(tǒng)使用說明書。</p><p>  課題6:圖書管理系統(tǒng)</p><p>  (一)、課程設計題目:</p><p><b>  圖書管理系統(tǒng)</b></p><p>  (二)、目的與要求: </

76、p><p><b>  1、目的: </b></p><p> ?。?)要求學生達到熟練掌握C++語言的基本知識和技能; </p><p> ?。?)基本掌握面向對象程序設計的基本思路和方法; </p><p>  (3)能夠利用所學的基本知識和技能,解決簡單的面向對象程序設計問題。 </p><p>

77、;<b>  2、基本要求: </b></p><p> ?。?)要求利用面向對象的方法以及C++的編程思想來完成系統(tǒng)的設計; </p><p> ?。?)要求在設計的過程中,建立清晰的類層次; </p><p> ?。?)在系統(tǒng)中至少要定義四個類,每個類中要有各自的屬性和方法; </p><p> ?。?)在系統(tǒng)的設計

78、中,至少要用到面向對象的一種機制。 </p><p><b>  3、創(chuàng)新要求: </b></p><p>  在基本要求達到后,可進行創(chuàng)新設計,如根據查找結果進行修改的功能。 </p><p>  4、寫出設計說明書 </p><p> ?。ㄈ?、設計方法和基本原理: </p><p>  1、

79、問題描述(功能要求): </p><p>  在圖書管理系統(tǒng)中,要為每個借閱者建立一個賬戶,并給借閱者發(fā)放借閱卡(借閱卡可以提供借閱卡號、借閱者名),賬戶中存儲借閱者的個人信息、借閱信息以及預定信息。持有借閱卡的借閱者可以借閱書刊、返還書刊、查詢書刊信息、預定書刊并取消預定,但這些操作都是通過圖書管理員進行的,也即借閱者不直接與系統(tǒng)交互,而是圖書管理員充當借閱者的代理與系統(tǒng)交互。在借閱書刊時,需要輸入所借閱的書刊

80、名,書刊的ISBN/ISSN號,然后輸入借閱者的圖書卡號和借閱者名,完成后提交所填表格,系統(tǒng)驗證借閱者是否有效(在系統(tǒng)中存在賬戶),若有效,借閱請求被接受,系統(tǒng)查詢數據庫系統(tǒng),看借閱者所借閱的書刊是否存在,若存在,則借閱者可借出書刊,建立并在系統(tǒng)中存儲借閱記錄。借閱者還書后,刪除關于所還書刊的借閱記錄。如果借閱者所借的書刊已被借出,借閱者還可預定該書刊,一旦借閱者預定的書刊可以獲得,就將書刊直接寄給預定人(為了簡化系統(tǒng),預定書刊可獲得時

81、就不通知借閱者了)。另外,為了簡化系統(tǒng),也不考慮書刊的最長借閱期限,假設借閱者可以無限期地保存所借閱的書刊。</p><p>  2、問題的解決方案: </p><p>  根據系統(tǒng)功能要求,可以將問題解決分為以下步驟: </p><p> ?。?)應用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設計;</p><p> ?。?)分析系

82、統(tǒng)中的各個實體及它們之間的關系包括屬性和行為; </p><p> ?。?)根據問題描述,設計系統(tǒng)的類層次; </p><p> ?。?)完成類層次中各個類的描述(包括屬性和方法); </p><p>  (5)完成類中各個成員函數的定義; </p><p> ?。?)完成系統(tǒng)的應用模塊; </p><p><b

83、> ?。?)功能調試; </b></p><p>  (8)完成系統(tǒng)總結報告以及系統(tǒng)使用說明書。</p><p><b>  目 錄</b></p><p>  1.系統(tǒng)需求分析1</p><p><b>  2.總體設計1</b></p><p>

84、;<b>  3.詳細設計1</b></p><p><b>  4.系統(tǒng)調試1</b></p><p><b>  5.結果分析1</b></p><p><b>  6.總結1</b></p><p><b>  系統(tǒng)需求分析

85、</b></p><p>  二十一世紀是信息的社會,信息作為社會最主要的資源,將成為戰(zhàn)略資源引起人們廣泛的關注。如何獲取信息?圖書是我們最好的獲取信息的方式,但由于圖書館圖書收藏量大大增加,使傳統(tǒng)的圖書管理員的工作日益繁重起來。迫使人們起用新的管理方法來管理圖書,但如何把圖書管理員從繁重的工作中解脫出來呢?</p><p>  科學技術日新月異的進步,讓人類生活發(fā)生了巨大的變

86、化,計算機技術的飛速發(fā)展,使各行各業(yè)在計算機技術應用方面得到了廣泛的普及和使用。信息化時代的到來成為不可抗拒的潮流,人類文明正在進入一個嶄新的時代。因此,圖書管理系統(tǒng)也以方便、快捷、費用低的優(yōu)點正慢慢地進入人們的生活,將傳統(tǒng)的圖書管理方式徹底的解脫出來,提高效率,減輕工人人員以往繁忙的工作,減小出錯的概率,使讀者可以花更多的時間在選擇書和看書上。從而使人們有更多時間來獲取信息、了解信息、掌握信息 。</p><p&g

87、t;  利用圖書管理系統(tǒng)對圖書記錄進行統(tǒng)一管理,包括新增圖書記錄,更改圖書記錄,刪除圖書記錄等功能,實現圖書管理工作的系統(tǒng)化,規(guī)范化和自動化,為圖書管理提供便利。同時是學習完《面向對象程序設計》課程后進行的一次全面的綜合練習。有助于加深對面向對象程序設計中基礎理論和基本知識的理解,培養(yǎng)了實踐能力,促進理論與實踐的結合。</p><p><b>  總體設計</b></p>&l

88、t;p><b>  1、設計內容及要求</b></p><p>  設計的圖書管理系統(tǒng),可以完成圖書信息管理和讀者信息管理的功能,并能對借閱信息進行管理。其中圖書信息管理,可以完成新增、更改、刪除、查找、顯示、全刪書籍信息功能。而讀者信息管理,可以完成新增、更改、刪除、查找、顯示、全刪讀者信息功能。對借書管理,可以進行添加借書信息。對還書管理,可以進行還書信。;</p>

89、<p>  該項目是在Visual C++ 6.0的平臺下用c++語言實現,創(chuàng)建對象,程序運行開始,打開文件并將其分別鏈入鏈表之中;程序結束關閉并保存文件。整體系統(tǒng)功能全部由鏈表實現。 </p><p><b>  2、模塊圖</b></p><p><b>  詳細設計</b></p><p>  Book 圖

90、書類、Reader讀者類、BDatabase 圖書庫類、RDatabase 讀者庫類,</p><p>  各類的詳細描述如下:</p><p><b>  1、添加操作:</b></p><p>  先通過輸入設備輸入信息,系統(tǒng)獲?。?lt;/p><p>  然后添加入讀者數據庫read.txt文件中:</p>

91、<p><b>  2、借書操作:</b></p><p><b>  3、還書操作:</b></p><p><b>  系統(tǒng)調試</b></p><p>  圖書管理系統(tǒng)的主界面:</p><p><b>  圖 4-1</b></

92、p><p>  2、圖書信息的增添:</p><p><b>  圖 4-2</b></p><p>  3、讀者信息的顯示:</p><p><b>  圖 4-3</b></p><p><b>  4、借書操作:</b></p><

93、p><b>  圖 4-4</b></p><p><b>  圖 4-5</b></p><p><b>  5、讀者信息顯示:</b></p><p><b>  圖 4-6</b></p><p>  6、圖書信息的查找:</p>

94、<p><b>  圖 4-7</b></p><p><b>  7、還書操作:</b></p><p><b>  圖 4-8</b></p><p>  8、圖書信息的全刪:</p><p><b>  圖 4-9</b></p&g

95、t;<p>  9、圖書管理系統(tǒng)的退出界面:</p><p><b>  圖 4-10</b></p><p><b>  總結</b></p><p>  通過這兩周的課程設計,我逐步學會了如何運用C++面向對象程序設計的設計思想和方法來解決實際問題。</p><p>  在這次設計

96、圖書管理系統(tǒng)中,我首先要考慮是實際應用時,用戶的操作會是什么,對哪些對象進行操作。這樣,很顯然的我需要建立兩個類,包括圖書類和讀者類;同時考慮到圖書和讀者不止一個,所以還需要兩個類,圖書庫類和讀者庫類,這兩個類分別將其信息傳遞給圖書類和讀者類。</p><p>  確定了類之后,則需要對類的內容進行擴充。由于我這個系統(tǒng)需要完成對圖書管理和讀者管理的功能,并能對借閱信息進行管理,如圖書資料管理要包括新增、更改、刪除

97、、查找、顯示、全刪書籍信息;讀者資料管理要包括新增、更改、刪除、查找、顯示、全刪讀者信息;借書管理,可以進行借書操作;還書管理,可以進行還書操作。所以在對應的類下建立相應功能函數就順理成章了。建立功能函數后就是編寫主函數了,主函數的作用就是通過向對象發(fā)送信息、對象接受信息啟動相應的方法來實現相應的操作。</p><p>  為了能夠較好地完成本次課程設計,我詳細閱讀了教材,還在網上進行了大量搜索,以及到圖書館查找

98、相關資料等一些努力。在做課程設計的過程中,我在利用所學知識的同時,又學到了很多實例化的理論知識和軟件工程的一些實踐,總結出了一些經驗和方法,強化了我的實際動手能力,確實也找到了自己的不足。所以,我一定會繼續(xù)學習來增加自己的編程能力和調試能力。那么,在今后的學習中我將會更加認真,以增加自己的知識儲備,拓寬自己的知識面,鍛煉自己的能力,最終使我的綜合素質得到較大的提高。</p><p>  不能不提的是,在這次課程設

99、計的過程中我確實出現過一些比較嚴重的錯誤,碰到過一些難以跨過的路障,但慶幸的是我在老師和同學的幫助下改正錯誤,克服了困難,并最終成功調試出了程序。當程序調試出來的那一瞬間,我感覺自己完成了一件非常了不起的事,特別有成就感,這大大增加了我的信息。在以后的日子,我將會繼續(xù)我的興趣繼續(xù)深入學習程序設計,相信在越來越多的嘗試之后,自己會不斷地進步不斷地提高。</p><p>  回顧本次課程設計,雖然說在過程中保證了面向

100、對象程序設計的抽象、封裝、多態(tài)和繼承的特點,也綜合考慮到了圖書管理的具體方面,以及做到了界面設計的簡潔與友好、數據庫設計的合理,但無可爭辯的是確實存在一些不足,還請各位老師和同學多多指教。 最后衷心地感謝老師的指導與同學的幫助,沒有你們,我不可能比較順利的完成這次程序設計。</p><p><b>  附錄:源程序清單:</b></p><p>  #include

101、"iostream"</p><p>  #include "conio.h" </p><p>  #include "iomanip" </p><p>  #include "string"</p><p>  #include "fstream&

102、quot;</p><p>  using namespace std; </p><p>  const int Maxr=100; //最多的讀者 </p><p>  const int Maxb=100; //最多的圖書 </p><p>  const int Maxbor=5; //每位讀者最多借五本書</p>&l

103、t;p>  char today[32] ="";</p><p>  char today1[32] =""; </p><p>  char second[32]=""; </p><p>  class Reader //讀者的信息描述 </p><p><

104、;b>  {</b></p><p><b>  private: </b></p><p>  int tag; //刪除標記 1:已刪 0:未刪 </p><p>  int no; //讀者編號</p><p>  char name[10]; //讀者姓名 </p&g

105、t;<p>  int borbook[Maxbor]; //所借圖書 </p><p><b>  public: </b></p><p>  Reader() { } </p><p>  char *getname() //獲取姓名 </p><p><b>  { </b>&

106、lt;/p><p>  return name; </p><p><b>  } </b></p><p>  int gettag() //獲取刪除標記 </p><p><b>  { </b></p><p>  return tag; </p><p

107、><b>  } </b></p><p>  int getno() //獲取讀者編號 </p><p><b>  { </b></p><p>  return no; </p><p><b>  } </b></p><p>  void

108、 setname(char na[]) //設置姓名 </p><p><b>  { </b></p><p>  strcpy(name,na); </p><p><b>  }</b></p><p>  void delbook() //設置刪除標記 1:已刪 0:未刪 </p>

109、;<p><b>  { </b></p><p><b>  tag=1; </b></p><p><b>  } </b></p><p>  void addreader(int n,char *na) //增加讀者 </p><p><b>

110、;  { </b></p><p><b>  tag=0; </b></p><p><b>  no=n; </b></p><p>  strcpy(name,na); </p><p>  for(int i=0;i<Maxbor;i++) </p><

111、p>  borbook[i]=0; </p><p><b>  } </b></p><p>  void borrowbook(int bookid,char brdate[32]) //借書操作 </p><p><b>  { </b></p><p>  for(int i=0;i&

112、lt;Maxbor;i++) </p><p><b>  { </b></p><p>  if (borbook[i]==0) </p><p><b>  { </b></p><p>  borbook[i]=bookid;</p><p><b>  re

113、turn; </b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  int retbook(int bookid) //還書操作 </p><p&

114、gt;<b>  { </b></p><p>  for(int i=0;i<Maxbor;i++) </p><p><b>  { </b></p><p>  if(borbook[i]==bookid) </p><p><b>  { </b></p&g

115、t;<p>  borbook[i]=0;</p><p>  cout<<"還書成功!"<<endl;</p><p>  return 1; </p><p><b>  } </b></p><p><b>  }</b></p&

116、gt;<p>  cout<<"未借該書,還書失??!"<<endl;</p><p>  return 0; </p><p><b>  } </b></p><p>  void disp() //讀出讀者信息 </p><p><b>  { &l

117、t;/b></p><p>  int have=0;</p><p><b>  int bz=0;</b></p><p>  cout << setw(5) << no <<setw(21) << name<<setw(15);</p><p>  

118、for(int i=0;i<Maxbor;i++) </p><p>  if(borbook[i]!=0)</p><p><b>  { </b></p><p><b>  if(bz==0)</b></p><p><b>  {</b></p>&

119、lt;p><b>  have=1;</b></p><p>  cout <<"["<<borbook[i]; </p><p>  cout << "]\t\t";</p><p><b>  bz++;</b>&l

120、t;/p><p><b>  }else{</b></p><p>  cout <<"\r\t\t\t\t\t""["<< borbook[i]; </p><p>  cout << "]\t\t";</p>&l

121、t;p><b>  }</b></p><p><b>  }</b></p><p>  if(have==0)cout<<" 還未借書";</p><p>  cout <<endl;</p><p><b>  

122、} </b></p><p><b>  }; </b></p><p>  class RDatabase //讀者類庫,實現建立讀者的個人資料 </p><p><b>  { </b></p><p><b>  private: </b></p>

123、<p>  int top; //讀者記錄指針 </p><p>  Reader read[Maxr]; //讀者記錄 </p><p><b>  public: </b></p><p>  RDatabase() //構造函數,將reader.txt讀到read[]中 </p><p><b&

124、gt;  { </b></p><p>  Reader s; </p><p>  top=-1; </p><p>  fstream file("reader.txt",ios::in); //打開一個輸入文件</p><p>  while (1) </p><p><

125、;b>  { </b></p><p>  file.read((char *)&s,sizeof(s)); </p><p>  if (!file)break; </p><p><b>  top++; </b></p><p>  read[top]=s; </p><

126、;p><b>  } </b></p><p>  file.close(); //關閉 reader.txt </p><p><b>  } </b></p><p>  void clear() //刪除所有讀者信息 </p><p><b>  { </b><

127、;/p><p><b>  top=-1; </b></p><p><b>  } </b></p><p>  int addreader(int n,char *na) //添加讀者時先查找是否存在</p><p><b>  { </b></p><p&

128、gt;  Reader *p=query(n); </p><p>  if (p==NULL) </p><p><b>  { </b></p><p><b>  top++; </b></p><p>  read[top].addreader(n,na); </p><

129、p>  return 1; </p><p><b>  }</b></p><p>  else cout<<"該編號已經存在!";</p><p>  return 0; </p><p><b>  } </b></p><p>

130、;  Reader *query(int readerid) //按讀者編號查找</p><p><b>  { </b></p><p>  for (int i=0;i<=top;i++) </p><p>  if (read[i].getno()==readerid&&read[i].gettag()==0) &l

131、t;/p><p><b>  { </b></p><p>  return &read[i]; </p><p><b>  } </b></p><p>  return NULL; </p><p><b>  }</b></p>

132、<p>  Reader *queryname(char readername[10]) //按讀者姓名查找 </p><p><b>  { </b></p><p>  for (int i=0;i<=top;i++) </p><p>  if (strcmp(read[i].g

溫馨提示

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

評論

0/150

提交評論