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

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  課 程 設(shè) 計(jì) 報(bào) 告</p><p>  課程名稱 面向?qū)ο蟪绦蛟O(shè)計(jì) </p><p>  課題名稱 圖書管理系統(tǒng) </p><p>  專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) </p><p>  班 級(jí) 計(jì)算機(jī)1202班

2、 </p><p>  一、設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求</p><p><b>  1.課程設(shè)計(jì)目的:</b></p><p>  面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)是集中實(shí)踐性環(huán)節(jié)之一,是學(xué)習(xí)完《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程后進(jìn)行的一次全面的綜合練習(xí)。要求學(xué)生達(dá)到熟練掌握C++語(yǔ)言的基本知識(shí)和技能;基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的思想和方法;能夠利用所學(xué)的基本

3、知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題,從而提高動(dòng)手編程解決實(shí)際問題的能力。</p><p><b>  2.課題題目</b></p><p>  1)公司庫(kù)存管理系統(tǒng)</p><p>  2)高校學(xué)籍管理系統(tǒng)</p><p>  3)高校工資管理系統(tǒng)</p><p>  4)高校人事管理系統(tǒng)

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

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

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

7、lt;b>  二、進(jìn)度安排</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++程序設(shè)計(jì)課程設(shè)計(jì)》 劉振安編著 TP312C563</p><p>  2.《C++ Builder和Delphi課程設(shè)計(jì)與系統(tǒng)開發(fā)案例》 伍俊良

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

10、++語(yǔ)言課程設(shè)計(jì) : 案例精選與編程指導(dǎo) 陳清華朱紅 東南大學(xué)出版社 7-81089-275-4 2003 </p><p>  6.VisualC++課程設(shè)計(jì)案例精編 中國(guó)水利水電出版社 7-5084-1004-1 2002 </p><p>  7.數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)案例精編 : 用C/C++描述 李建學(xué)李光元吳春芳 清華大學(xué)出版社 7-302-14536-9

11、 2007 </p><p> ?。ň幊唐脚_(tái)不限,vc++, c++ Builder等等。)</p><p>  課題1:公司庫(kù)存管理系統(tǒng) </p><p> ?。ㄒ唬⒄n程設(shè)計(jì)題目:</p><p>  某公司的庫(kù)存管理系統(tǒng)</p><p> ?。ǘ?、目的與要求: </p><p>&l

12、t;b>  1、目的: </b></p><p> ?。?)要求學(xué)生達(dá)到熟練掌握C++語(yǔ)言的基本知識(shí)和技能; </p><p> ?。?)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; </p><p> ?。?)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題。 </p><p><b>  2、基本要求

13、: </b></p><p> ?。?)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來完成系統(tǒng)的設(shè)計(jì); </p><p> ?。?)要求在設(shè)計(jì)的過程中,建立清晰的類層次; </p><p>  (3)在系統(tǒng)中至少要定義四個(gè)類,每個(gè)類中要有各自的屬性和方法; </p><p> ?。?)在系統(tǒng)的設(shè)計(jì)中,至少要用到面向?qū)ο蟮囊环N機(jī)制。

14、</p><p><b>  3、創(chuàng)新要求: </b></p><p>  在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如根據(jù)查找結(jié)果進(jìn)行修改的功能。 </p><p>  4、寫出設(shè)計(jì)說明書 </p><p>  (三)、設(shè)計(jì)方法和基本原理: </p><p>  1、問題描述(功能要求): </p

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

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

17、> ?。?)功能調(diào)試; </b></p><p> ?。?)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說明書。 </p><p>  課題2:高校學(xué)籍管理系統(tǒng) </p><p> ?。ㄒ唬?、課程設(shè)計(jì)題目:</p><p><b>  高校學(xué)籍管理系統(tǒng)</b></p><p> ?。ǘ⒛康呐c

18、要求: </p><p><b>  1、目的: </b></p><p> ?。?)要求學(xué)生達(dá)到熟練掌握C++語(yǔ)言的基本知識(shí)和技能; </p><p> ?。?)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; </p><p> ?。?)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題。 </p>

19、<p><b>  2、基本要求: </b></p><p> ?。?)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來完成系統(tǒng)的設(shè)計(jì);</p><p>  (2)要求在設(shè)計(jì)的過程中,建立清晰的類層次; </p><p> ?。?)在系統(tǒng)的設(shè)計(jì)中,至少要用到面向?qū)ο蟮囊环N機(jī)制。</p><p><b>

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

21、學(xué)生的信息并將信息存入到數(shù)據(jù)文件中。</p><p> ?。?)能夠?qū)⒅付ǖ男畔奈募袆h除。</p><p> ?。?)能夠按編號(hào)、姓名對(duì)學(xué)生的信息進(jìn)行檢索并將檢索結(jié)果顯示在屏幕上。</p><p> ?。?)可以統(tǒng)計(jì)全部學(xué)生的總成績(jī),及其在班上的排名。</p><p> ?。?)能夠統(tǒng)計(jì)各科的平均成績(jī)及及格率。</p>&l

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

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

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

25、;/b></p><p> ?。ǘ?、目的與要求: </p><p><b>  1、目的: </b></p><p> ?。?)要求學(xué)生達(dá)到熟練掌握C++語(yǔ)言的基本知識(shí)和技能; </p><p> ?。?)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; </p><p> ?。?)能夠利用所學(xué)

26、的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題。 </p><p><b>  2、基本要求: </b></p><p> ?。?)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來完成系統(tǒng)的設(shè)計(jì); </p><p>  (2)要求在設(shè)計(jì)的過程中,建立清晰的類層次; </p><p> ?。?)在系統(tǒng)中至少要定義四個(gè)類,每個(gè)

27、類中要有各自的屬性和方法; </p><p>  (4)在系統(tǒng)的設(shè)計(jì)中,至少要用到面向?qū)ο蟮囊环N機(jī)制。 </p><p><b>  3、創(chuàng)新要求: </b></p><p>  在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如根據(jù)查找結(jié)果進(jìn)行修改的功能。 </p><p>  4、寫出設(shè)計(jì)說明書 </p><p

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

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

30、t;  教師: 基本工資+課時(shí)費(fèi);</p><p>  實(shí)驗(yàn)員: 基本工資+實(shí)驗(yàn)室補(bǔ)助;</p><p>  行政人員: 基本工資+行政補(bǔ)貼;</p><p>  教師兼職實(shí)驗(yàn)員: 基本工資+課時(shí)費(fèi)+實(shí)驗(yàn)室補(bǔ)助;</p><p>  行政人員兼職教師:基本工資+行政補(bǔ)貼+課時(shí)費(fèi);<

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

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

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

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

35、<p><b>  高校人事管理系統(tǒng)</b></p><p> ?。ǘ?、目的與要求: </p><p><b>  1、目的: </b></p><p> ?。?)要求學(xué)生達(dá)到熟練掌握C++語(yǔ)言的基本知識(shí)和技能; </p><p>  (2)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法;

36、</p><p> ?。?)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題。 </p><p><b>  2、基本要求: </b></p><p> ?。?)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來完成系統(tǒng)的設(shè)計(jì); </p><p> ?。?)要求在設(shè)計(jì)的過程中,建立清晰的類層次; </p>

37、;<p>  (3)在系統(tǒng)中至少要定義四個(gè)類,每個(gè)類中要有各自的屬性和方法; </p><p> ?。?)在系統(tǒng)的設(shè)計(jì)中,至少要用到面向?qū)ο蟮囊环N機(jī)制。 </p><p><b>  3、創(chuàng)新要求: </b></p><p>  在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如根據(jù)查找結(jié)果進(jìn)行修改的功能。 </p><p&

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

39、gt;<p><b>  要求: </b></p><p> ?。?)添加刪除功能:能根據(jù)學(xué)院人事的變動(dòng)情況,添加刪除記錄;</p><p> ?。?)查詢功能:能根據(jù)編號(hào)和姓名進(jìn)行查詢;</p><p>  (3)編輯功能(高級(jí)):根據(jù)查詢對(duì)相應(yīng)的記錄進(jìn)行修改,并存儲(chǔ);</p><p>  (4)統(tǒng)計(jì)功能

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

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

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

43、t;/p><p> ?。ㄒ唬?、課程設(shè)計(jì)題目:</p><p><b>  學(xué)生成績(jī)管理系統(tǒng)</b></p><p> ?。ǘ?、目的與要求: </p><p><b>  1、目的: </b></p><p> ?。?)要求學(xué)生達(dá)到熟練掌握C++語(yǔ)言的基本知識(shí)和技能; </

44、p><p>  (2)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; </p><p> ?。?)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題。 </p><p><b>  2、基本要求: </b></p><p>  (1)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來完成系統(tǒng)的設(shè)計(jì); </p>

45、<p> ?。?)要求在設(shè)計(jì)的過程中,建立清晰的類層次; </p><p>  (3)在系統(tǒng)中至少要定義四個(gè)類,每個(gè)類中要有各自的屬性和方法; </p><p> ?。?)在系統(tǒng)的設(shè)計(jì)中,至少要用到面向?qū)ο蟮囊环N機(jī)制。 </p><p><b>  3、創(chuàng)新要求: </b></p><p>  在基本要求達(dá)到后

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

47、實(shí)現(xiàn),充分體現(xiàn)面向?qū)ο蟮某绦蛟O(shè)計(jì)特點(diǎn)。</p><p><b>  要求: </b></p><p>  實(shí)現(xiàn)主要功能:建立文件,文件的存取和顯示,刪除記錄,查詢記錄。可以隨時(shí)檢索,刪除,或增加記錄,也可以保存或取消新的記錄。</p><p>  2、問題的解決方案: </p><p>  根據(jù)系統(tǒng)功能要求,可以將問題解

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

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

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

51、握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; </p><p> ?。?)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題。 </p><p><b>  2、基本要求: </b></p><p> ?。?)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來完成系統(tǒng)的設(shè)計(jì); </p><p> ?。?)要求在設(shè)計(jì)的過程中,

52、建立清晰的類層次; </p><p>  (3)在系統(tǒng)中至少要定義四個(gè)類,每個(gè)類中要有各自的屬性和方法; </p><p> ?。?)在系統(tǒng)的設(shè)計(jì)中,至少要用到面向?qū)ο蟮囊环N機(jī)制。 </p><p><b>  3、創(chuàng)新要求: </b></p><p>  在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如根據(jù)查找結(jié)果進(jìn)行修改的功能。

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

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

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

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

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

58、t; ?。ㄒ唬?、課程設(shè)計(jì)題目:</p><p>  學(xué)生考勤管理系統(tǒng) </p><p>  (二)、目的與要求: </p><p><b>  1、目的: </b></p><p> ?。?)要求學(xué)生達(dá)到熟練掌握C++語(yǔ)言的基本知識(shí)和技能; </p><p> ?。?)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的

59、基本思路和方法; </p><p>  (3)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題。 </p><p><b>  2、基本要求: </b></p><p> ?。?)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來完成系統(tǒng)的設(shè)計(jì); </p><p>  (2)要求在設(shè)計(jì)的過程中,建立清晰的類層次;

60、</p><p> ?。?)在系統(tǒng)中至少要定義四個(gè)類,每個(gè)類中要有各自的屬性和方法; </p><p> ?。?)在系統(tǒng)的設(shè)計(jì)中,至少要用到面向?qū)ο蟮囊环N機(jī)制。 </p><p><b>  3、創(chuàng)新要求: </b></p><p>  在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如根據(jù)查找結(jié)果進(jìn)行修改的功能。 </p>

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

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

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

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

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

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

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

68、 </p><p><b>  1、目的: </b></p><p>  (1)要求學(xué)生達(dá)到熟練掌握C++語(yǔ)言的基本知識(shí)和技能; </p><p> ?。?)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; </p><p> ?。?)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題。 </p>&l

69、t;p><b>  2、基本要求: </b></p><p> ?。?)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來完成系統(tǒng)的設(shè)計(jì); </p><p> ?。?)要求在設(shè)計(jì)的過程中,建立清晰的類層次; </p><p>  (3)在系統(tǒng)中至少要定義四個(gè)類,每個(gè)類中要有各自的屬性和方法; </p><p> ?。?)

70、在系統(tǒng)的設(shè)計(jì)中,至少要用到面向?qū)ο蟮囊环N機(jī)制。 </p><p><b>  3、創(chuàng)新要求: </b></p><p>  在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如根據(jù)查找結(jié)果進(jìn)行修改的功能。 </p><p>  4、寫出設(shè)計(jì)說明書 </p><p> ?。ㄈ⒃O(shè)計(jì)方法和基本原理: </p><p&g

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

72、息時(shí)同時(shí)生成,每輸入一個(gè)人員信息編號(hào)順序加1。 </p><p>  程序?qū)λ腥藛T有提升級(jí)別的功能 。</p><p>  薪金的計(jì)算方法是:經(jīng)理拿固定月薪,兼職技術(shù)人員按工作小時(shí)數(shù)領(lǐng)取月薪,兼職推銷員的報(bào)酬按該推銷員當(dāng)月銷售額提成 ,銷售經(jīng)理既拿固定月薪也領(lǐng)取銷售提成。 </p><p>  能按姓名或者編號(hào)顯示、查找、增加、刪除和保存各類人員的信息 。在基本要

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

74、各個(gè)實(shí)體及它們之間的關(guān)系包括屬性和行為; </p><p>  (3)根據(jù)問題描述,設(shè)計(jì)系統(tǒng)的類層次; </p><p>  (4)完成類層次中各個(gè)類的描述(包括屬性和方法); </p><p> ?。?)完成類中各個(gè)成員函數(shù)的定義; </p><p> ?。?)完成系統(tǒng)的應(yīng)用模塊; </p><p><b>

75、;  (7)功能調(diào)試; </b></p><p> ?。?)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說明書。</p><p>  課題6:圖書管理系統(tǒng)</p><p> ?。ㄒ唬?、課程設(shè)計(jì)題目:</p><p><b>  圖書管理系統(tǒng)</b></p><p> ?。ǘ?、目的與要求: </

76、p><p><b>  1、目的: </b></p><p> ?。?)要求學(xué)生達(dá)到熟練掌握C++語(yǔ)言的基本知識(shí)和技能; </p><p>  (2)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; </p><p> ?。?)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題。 </p><p>

77、;<b>  2、基本要求: </b></p><p> ?。?)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來完成系統(tǒng)的設(shè)計(jì); </p><p> ?。?)要求在設(shè)計(jì)的過程中,建立清晰的類層次; </p><p> ?。?)在系統(tǒng)中至少要定義四個(gè)類,每個(gè)類中要有各自的屬性和方法; </p><p>  (4)在系統(tǒng)的設(shè)計(jì)

78、中,至少要用到面向?qū)ο蟮囊环N機(jī)制。 </p><p><b>  3、創(chuàng)新要求: </b></p><p>  在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如根據(jù)查找結(jié)果進(jìn)行修改的功能。 </p><p>  4、寫出設(shè)計(jì)說明書 </p><p> ?。ㄈ?、設(shè)計(jì)方法和基本原理: </p><p>  1、

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

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

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

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

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

84、;<b>  3.詳細(xì)設(shè)計(jì)1</b></p><p><b>  4.系統(tǒng)調(diào)試1</b></p><p><b>  5.結(jié)果分析1</b></p><p><b>  6.總結(jié)1</b></p><p><b>  系統(tǒng)需求分析

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

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

87、t;  利用圖書管理系統(tǒng)對(duì)圖書記錄進(jìn)行統(tǒng)一管理,包括新增圖書記錄,更改圖書記錄,刪除圖書記錄等功能,實(shí)現(xiàn)圖書管理工作的系統(tǒng)化,規(guī)范化和自動(dòng)化,為圖書管理提供便利。同時(shí)是學(xué)習(xí)完《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程后進(jìn)行的一次全面的綜合練習(xí)。有助于加深對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)中基礎(chǔ)理論和基本知識(shí)的理解,培養(yǎng)了實(shí)踐能力,促進(jìn)理論與實(shí)踐的結(jié)合。</p><p><b>  總體設(shè)計(jì)</b></p>&l

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

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

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

91、<p><b>  2、借書操作:</b></p><p><b>  3、還書操作:</b></p><p><b>  系統(tǒng)調(diào)試</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>  總結(jié)</b></p><p>  通過這兩周的課程設(shè)計(jì),我逐步學(xué)會(huì)了如何運(yùn)用C++面向?qū)ο蟪绦蛟O(shè)計(jì)的設(shè)計(jì)思想和方法來解決實(shí)際問題。</p><p>  在這次設(shè)計(jì)

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

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

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

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

100、對(duì)象程序設(shè)計(jì)的抽象、封裝、多態(tài)和繼承的特點(diǎn),也綜合考慮到了圖書管理的具體方面,以及做到了界面設(shè)計(jì)的簡(jiǎn)潔與友好、數(shù)據(jù)庫(kù)設(shè)計(jì)的合理,但無可爭(zhēng)辯的是確實(shí)存在一些不足,還請(qǐng)各位老師和同學(xué)多多指教。 最后衷心地感謝老師的指導(dǎo)與同學(xué)的幫助,沒有你們,我不可能比較順利的完成這次程序設(shè)計(jì)。</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; //刪除標(biāo)記 1:已刪 0:未刪 </p><p>  int no; //讀者編號(hào)</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() //獲取刪除標(biāo)記 </p><p><b>  { </b></p><p>  return tag; </p><p

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

108、 setname(char na[]) //設(shè)置姓名 </p><p><b>  { </b></p><p>  strcpy(name,na); </p><p><b>  }</b></p><p>  void delbook() //設(shè)置刪除標(biāo)記 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 //讀者類庫(kù),實(shí)現(xiàn)建立讀者的個(gè)人資料 </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() //構(gòu)造函數(shù),將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); //打開一個(gè)輸入文件</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(); //關(guān)閉 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) //添加讀者時(shí)先查找是否存在</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<<"該編號(hào)已經(jīng)存在!";</p><p>  return 0; </p><p><b>  } </b></p><p>

130、;  Reader *query(int readerid) //按讀者編號(hào)查找</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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論