

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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> 課程名稱(chēng) 面向?qū)ο蟪绦蛟O(shè)計(jì) </p><p> 課題名稱(chēng) 圖書(shū)管理系統(tǒng) </p><p> 專(zhuān) 業(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ì)問(wèn)題,從而提高動(dòng)手編程解決實(shí)際問(wèn)題的能力。</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) 圖書(shū)管理系統(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ù)需求分析;類(lèi)層次圖;界面設(shè)計(jì)與各功能模塊實(shí)現(xiàn)。④系統(tǒng)調(diào)
6、試:調(diào)試出現(xiàn)的主要問(wèn)題,編譯語(yǔ)法錯(cuò)誤及修改,重點(diǎn)是運(yùn)行邏輯問(wèn)題修改和調(diào)整。⑤使用說(shuō)明書(shū)及編程體會(huì):說(shuō)明如何使用你編寫(xiě)的程序,詳細(xì)列出每一步的操作步驟。⑥關(guān)鍵源程序(帶注釋?zhuān)?lt;/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> 三、參考書(shū)籍</b></p><p> 1.《C++程序設(shè)計(jì)課程設(shè)計(jì)》 劉振安編著 TP312C563</p><p> 2.《C++ Builder和Delphi課程設(shè)計(jì)與系統(tǒng)開(kāi)發(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)開(kāi)發(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> ?。ㄒ唬?、課程設(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ì)問(wèn)題。 </p><p><b> 2、基本要求
13、: </b></p><p> ?。?)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來(lái)完成系統(tǒng)的設(shè)計(jì); </p><p> ?。?)要求在設(shè)計(jì)的過(guò)程中,建立清晰的類(lèi)層次; </p><p> (3)在系統(tǒng)中至少要定義四個(gè)類(lèi),每個(gè)類(lèi)中要有各自的屬性和方法; </p><p> (4)在系統(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、寫(xiě)出設(shè)計(jì)說(shuō)明書(shū) </p><p> ?。ㄈ⒃O(shè)計(jì)方法和基本原理: </p><p> 1、問(wèn)題描述(功能要求): </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、問(wèn)題的解決方案: </p><p> 根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以下步驟: </p><p> (1)
16、分析系統(tǒng)中的各個(gè)實(shí)體之間的關(guān)系及其屬性和行為; </p><p> ?。?)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類(lèi)層次; </p><p> (3)完成類(lèi)層次中各個(gè)類(lèi)的描述(包括屬性和方法); </p><p> ?。?)完成類(lèi)中各個(gè)成員函數(shù)的定義; </p><p> ?。?)完成系統(tǒng)的應(yīng)用模塊; </p><p><b
17、> ?。?)功能調(diào)試; </b></p><p> (7)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書(shū)。 </p><p> 課題2:高校學(xué)籍管理系統(tǒng) </p><p> ?。ㄒ唬?、課程設(shè)計(jì)題目:</p><p><b> 高校學(xué)籍管理系統(tǒng)</b></p><p> (二)、目的與
18、要求: </p><p><b> 1、目的: </b></p><p> ?。?)要求學(xué)生達(dá)到熟練掌握C++語(yǔ)言的基本知識(shí)和技能; </p><p> ?。?)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; </p><p> (3)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問(wèn)題。 </p>
19、<p><b> 2、基本要求: </b></p><p> ?。?)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來(lái)完成系統(tǒng)的設(shè)計(jì);</p><p> ?。?)要求在設(shè)計(jì)的過(guò)程中,建立清晰的類(lèi)層次; </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、寫(xiě)出設(shè)計(jì)說(shuō)明書(shū) </p><p> ?。ㄈ⒃O(shè)計(jì)方法和基本原理: </p><p> 1、問(wèn)題描述(功能要求): </p><p> (1)能夠從屏幕上讀取一個(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)提示用戶(hù)。 </p><p> 2、問(wèn)題的解決方案: </p><p> 根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以下步驟: </p><p> ?。?)寫(xiě)出需求分析(做什么);</p>&
23、lt;p> ?。?)分析系統(tǒng)中的各個(gè)實(shí)體之間的關(guān)系及其屬性和行為; </p><p> ?。?)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類(lèi)層次; </p><p> ?。?)完成類(lèi)層次中各個(gè)類(lèi)的描述(包括屬性和方法); </p><p> (5)完成類(lèi)中各個(gè)成員函數(shù)的定義; </p><p> ?。?)用戶(hù)界面的設(shè)計(jì); </p><
24、;p> (7)分析系統(tǒng)功能模塊(系統(tǒng)流程圖);</p><p> ?。?)代碼編寫(xiě),功能調(diào)試;</p><p> ?。?)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書(shū)。</p><p> 課題3:高校工資管理系統(tǒng) </p><p> ?。ㄒ唬?、課程設(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ì)問(wèn)題。 </p><p><b> 2、基本要求: </b></p><p> ?。?)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來(lái)完成系統(tǒng)的設(shè)計(jì); </p><p> (2)要求在設(shè)計(jì)的過(guò)程中,建立清晰的類(lèi)層次; </p><p> ?。?)在系統(tǒng)中至少要定義四個(gè)類(lèi),每個(gè)
27、類(lèi)中要有各自的屬性和方法; </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、寫(xiě)出設(shè)計(jì)說(shuō)明書(shū) </p><p
28、> (三)、設(shè)計(jì)方法和基本原理: </p><p> 1、問(wèn)題描述(功能要求): </p><p> 現(xiàn)一高校有五類(lèi)職工:教師,實(shí)驗(yàn)員,行政人員,教師兼職實(shí)驗(yàn)員,行政人員兼職教師。為了實(shí)現(xiàn)工資發(fā)放的自動(dòng)功能,現(xiàn)要求編寫(xiě)程序來(lái)自動(dòng)完成此功能。同時(shí)注意生成的相關(guān)數(shù)據(jù)結(jié)果以文件方式存放在硬盤(pán)中。程序應(yīng)具備從鍵盤(pán)錄入,文件的可繼續(xù)錄入,任意職工的工資查詢(xún)(可由職工編號(hào)和職工姓名來(lái)實(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,行政人員沒(méi)有基本工作量,每節(jié)課時(shí)費(fèi)為20元;課時(shí)費(fèi)=(上學(xué)期工作量-基本工作量)*20;</p><p> 注意:如果上學(xué)期基本工作量沒(méi)完成,則其(上學(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、問(wèn)題的解決方案: </p><p> 根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以下步驟: </p><p>
33、; ?。?)寫(xiě)出需求分析(做什么);</p><p> ?。?)分析系統(tǒng)中的各個(gè)實(shí)體之間的關(guān)系及其屬性和行為; </p><p> ?。?)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類(lèi)層次; </p><p> ?。?)完成類(lèi)層次中各個(gè)類(lèi)的描述(包括屬性和方法); </p><p> ?。?)完成類(lèi)中各個(gè)成員函數(shù)的定義; </p><p&g
34、t; ?。?)用戶(hù)界面的設(shè)計(jì); </p><p> (7)分析系統(tǒng)功能模塊(系統(tǒng)流程圖);</p><p> (8)代碼編寫(xiě) ,功能調(diào)試;</p><p> ?。?)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書(shū)。</p><p> 課題4:高校人事管理系統(tǒng) </p><p> ?。ㄒ唬?、課程設(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ì)問(wèn)題。 </p><p><b> 2、基本要求: </b></p><p> (1)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來(lái)完成系統(tǒng)的設(shè)計(jì); </p><p> (2)要求在設(shè)計(jì)的過(guò)程中,建立清晰的類(lèi)層次; </p>
37、;<p> ?。?)在系統(tǒng)中至少要定義四個(gè)類(lèi),每個(gè)類(lèi)中要有各自的屬性和方法; </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、寫(xiě)出設(shè)計(jì)說(shuō)明書(shū) </p><p> ?。ㄈ?、設(shè)計(jì)方法和基本原理: </p><p> 1、問(wèn)題描述(功能要求): </p><p> 某高校,主要人員有:在職人員(行政人員、教師、一般員工)、退休人員、返聘人員和臨時(shí)工。現(xiàn)在,需要存儲(chǔ)這些人員的人事檔案信息:編號(hào)、姓名、性別、年齡、職務(wù)、職稱(chēng)、政治面貌、最高學(xué)歷、任職時(shí)間、來(lái)院時(shí)間。</p&
39、gt;<p><b> 要求: </b></p><p> ?。?)添加刪除功能:能根據(jù)學(xué)院人事的變動(dòng)情況,添加刪除記錄;</p><p> ?。?)查詢(xún)功能:能根據(jù)編號(hào)和姓名進(jìn)行查詢(xún);</p><p> ?。?)編輯功能(高級(jí)):根據(jù)查詢(xún)對(duì)相應(yīng)的記錄進(jìn)行修改,并存儲(chǔ);</p><p> (4)統(tǒng)計(jì)功能
40、:能根據(jù)多種參數(shù)進(jìn)行人員的統(tǒng)計(jì)(在職人數(shù)、黨員人數(shù)、女工人數(shù)、高學(xué)歷高職稱(chēng)人數(shù));</p><p> (5)保存功能:能對(duì)輸入的數(shù)據(jù)進(jìn)行相應(yīng)的存儲(chǔ),要求重載插入和提取符以完成數(shù)據(jù)的保存和打開(kāi)。</p><p> ?。?)人員編號(hào)在生成人員信息時(shí)同時(shí)生成,每輸入一個(gè)人員信息編號(hào)順序加1。</p><p> 2、問(wèn)題的解決方案: </p><p&
41、gt; 根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以下步驟: </p><p> ?。?)應(yīng)用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計(jì);</p><p> ?。?)分析系統(tǒng)中的各個(gè)實(shí)體及它們之間的關(guān)系包括屬性和行為; </p><p> ?。?)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類(lèi)層次; </p><p> ?。?)完成類(lèi)層次中各個(gè)類(lèi)的描述(
42、包括屬性和方法); </p><p> (5)完成類(lèi)中各個(gè)成員函數(shù)的定義; </p><p> ?。?)完成系統(tǒng)的應(yīng)用模塊; </p><p><b> ?。?)功能調(diào)試; </b></p><p> ?。?)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書(shū)。</p><p> 課題5:學(xué)生成績(jī)管理系統(tǒng)&l
43、t;/p><p> ?。ㄒ唬?、課程設(shè)計(jì)題目:</p><p><b> 學(xué)生成績(jī)管理系統(tǒng)</b></p><p> ?。ǘ⒛康呐c要求: </p><p><b> 1、目的: </b></p><p> (1)要求學(xué)生達(dá)到熟練掌握C++語(yǔ)言的基本知識(shí)和技能; </
44、p><p> (2)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; </p><p> (3)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問(wèn)題。 </p><p><b> 2、基本要求: </b></p><p> ?。?)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來(lái)完成系統(tǒng)的設(shè)計(jì); </p>
45、<p> ?。?)要求在設(shè)計(jì)的過(guò)程中,建立清晰的類(lèi)層次; </p><p> (3)在系統(tǒng)中至少要定義四個(gè)類(lèi),每個(gè)類(lèi)中要有各自的屬性和方法; </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、寫(xiě)出設(shè)計(jì)說(shuō)明書(shū) </p><p> (三)、設(shè)計(jì)方法和基本原理: </p><p> 1、問(wèn)題描述(功能要求): </p><p> 設(shè)計(jì)一個(gè)實(shí)用的小型學(xué)生成績(jī)管理程序,具有查詢(xún),檢索和刪除功能,并且能夠打開(kāi)或修改指定文件及將多個(gè)文件組成一個(gè)文件。它完全使用類(lèi)來(lái)
47、實(shí)現(xiàn),充分體現(xiàn)面向?qū)ο蟮某绦蛟O(shè)計(jì)特點(diǎn)。</p><p><b> 要求: </b></p><p> 實(shí)現(xiàn)主要功能:建立文件,文件的存取和顯示,刪除記錄,查詢(xún)記錄??梢噪S時(shí)檢索,刪除,或增加記錄,也可以保存或取消新的記錄。</p><p> 2、問(wèn)題的解決方案: </p><p> 根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解
48、決分為以下步驟: </p><p> ?。?)應(yīng)用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計(jì);</p><p> (2)分析系統(tǒng)中的各個(gè)實(shí)體及它們之間的關(guān)系包括屬性和行為; </p><p> ?。?)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類(lèi)層次; </p><p> (4)完成類(lèi)層次中各個(gè)類(lèi)的描述(包括屬性和方法); </p>
49、<p> (5)完成類(lèi)中各個(gè)成員函數(shù)的定義; </p><p> ?。?)完成系統(tǒng)的應(yīng)用模塊; </p><p><b> (7)功能調(diào)試; </b></p><p> (8)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書(shū)。</p><p> 課題6:圖書(shū)管理系統(tǒng)</p><p> ?。?/p>
50、一)、課程設(shè)計(jì)題目:</p><p><b> 圖書(shū)管理系統(tǒng)</b></p><p> ?。ǘ⒛康呐c要求: </p><p><b> 1、目的: </b></p><p> ?。?)要求學(xué)生達(dá)到熟練掌握C++語(yǔ)言的基本知識(shí)和技能; </p><p> ?。?)基本掌
51、握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; </p><p> ?。?)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問(wèn)題。 </p><p><b> 2、基本要求: </b></p><p> ?。?)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來(lái)完成系統(tǒng)的設(shè)計(jì); </p><p> ?。?)要求在設(shè)計(jì)的過(guò)程中,
52、建立清晰的類(lèi)層次; </p><p> ?。?)在系統(tǒng)中至少要定義四個(gè)類(lèi),每個(gè)類(lèi)中要有各自的屬性和方法; </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、寫(xiě)出設(shè)計(jì)說(shuō)明書(shū) </p><p> ?。ㄈ?、設(shè)計(jì)方法和基本原理: </p><p> 1、問(wèn)題描述(功能要求): </p><p> 在圖書(shū)管理系統(tǒng)中,要為每個(gè)借閱者建立一個(gè)賬戶(hù),并給借閱者發(fā)放借閱卡(借閱卡可以提供借閱卡號(hào)、借閱者名),賬戶(hù)中存儲(chǔ)借閱者的個(gè)人信息、借閱信息以及預(yù)定信息。持有借閱卡的借閱者可以
54、借閱書(shū)刊、返還書(shū)刊、查詢(xún)書(shū)刊信息、預(yù)定書(shū)刊并取消預(yù)定,但這些操作都是通過(guò)圖書(shū)管理員進(jìn)行的,也即借閱者不直接與系統(tǒng)交互,而是圖書(shū)管理員充當(dāng)借閱者的代理與系統(tǒng)交互。在借閱書(shū)刊時(shí),需要輸入所借閱的書(shū)刊名,書(shū)刊的ISBN/ISSN號(hào),然后輸入借閱者的圖書(shū)卡號(hào)和借閱者名,完成后提交所填表格,系統(tǒng)驗(yàn)證借閱者是否有效(在系統(tǒng)中存在賬戶(hù)),若有效,借閱請(qǐng)求被接受,系統(tǒng)查詢(xún)數(shù)據(jù)庫(kù)系統(tǒng),看借閱者所借閱的書(shū)刊是否存在,若存在,則借閱者可借出書(shū)刊,建立并在系統(tǒng)
55、中存儲(chǔ)借閱記錄。借閱者還書(shū)后,刪除關(guān)于所還書(shū)刊的借閱記錄。如果借閱者所借的書(shū)刊已被借出,借閱者還可預(yù)定該書(shū)刊,一旦借閱者預(yù)定的書(shū)刊可以獲得,就將書(shū)刊直接寄給預(yù)定人(為了簡(jiǎn)化系統(tǒng),預(yù)定書(shū)刊可獲得時(shí)就不通知借閱者了)。另外,為了簡(jiǎn)化系統(tǒng),也不考慮書(shū)刊的最長(zhǎng)借閱期限,假設(shè)借閱者可以無(wú)限期地保存所借閱的書(shū)刊。</p><p> 2、問(wèn)題的解決方案: </p><p> 根據(jù)系統(tǒng)功能要求,可以將
56、問(wèn)題解決分為以下步驟: </p><p> ?。?)應(yīng)用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計(jì);</p><p> ?。?)分析系統(tǒng)中的各個(gè)實(shí)體及它們之間的關(guān)系包括屬性和行為; </p><p> (3)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類(lèi)層次; </p><p> ?。?)完成類(lèi)層次中各個(gè)類(lèi)的描述(包括屬性和方法); </p&
57、gt;<p> (5)完成類(lèi)中各個(gè)成員函數(shù)的定義; </p><p> ?。?)完成系統(tǒng)的應(yīng)用模塊; </p><p><b> ?。?)功能調(diào)試; </b></p><p> ?。?)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書(shū)。</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> (2)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的
59、基本思路和方法; </p><p> (3)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問(wèn)題。 </p><p><b> 2、基本要求: </b></p><p> (1)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來(lái)完成系統(tǒng)的設(shè)計(jì); </p><p> (2)要求在設(shè)計(jì)的過(guò)程中,建立清晰的類(lèi)層次;
60、</p><p> ?。?)在系統(tǒng)中至少要定義四個(gè)類(lèi),每個(gè)類(lèi)中要有各自的屬性和方法; </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、寫(xiě)出設(shè)計(jì)說(shuō)明書(shū) </p><p> ?。ㄈ?、設(shè)計(jì)方法和基本原理: </p><p> 1、問(wèn)題描述(功能要求): </p><p> 考勤信息記錄了學(xué)生的缺課情況,它包括:缺課日期、第幾節(jié)課(連續(xù)多節(jié)課用 begin-end 的形式表示)、課程名稱(chēng)(課程名稱(chēng)中不會(huì)出現(xiàn)空格)、學(xué)生姓名、缺課類(lèi)型(遲到、早退、請(qǐng)假及曠課)。試設(shè)計(jì)考
62、勤管理系統(tǒng),使之能提供以下功能:</p><p> 1).錄入學(xué)生的缺課記錄:從鍵盤(pán)輸入數(shù)據(jù)(提示:為避免重復(fù)從鍵盤(pán)輸入數(shù)據(jù),測(cè)試時(shí)可將數(shù)據(jù)存儲(chǔ)在文件中,利用輸入重定向功能讀入),輸入格式為:</p><p> 缺課日期第幾節(jié)課 課程名稱(chēng)學(xué)生姓名 缺課類(lèi)型</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).查詢(xún)某個(gè)學(xué)生的缺課情況:查詢(xún)結(jié)果按照日期升序排序,同一天內(nèi)按照所缺課程的時(shí)間升序排序。</p><p> 4).統(tǒng)計(jì)某段時(shí)間內(nèi)(以天為單位),曠課學(xué)生姓名及曠課節(jié)數(shù),查詢(xún)結(jié)果先按曠課節(jié)數(shù)降序排序,曠課節(jié)數(shù)相同的學(xué)生按姓名升序排序;</p><p> 5).統(tǒng)計(jì)某段時(shí)間內(nèi),有學(xué)生曠課的課程及曠課人次,按曠課人次由多到少排序,曠課人次相同的課程按課程名稱(chēng)升序排序; </
65、p><p> 6).系統(tǒng)以菜單方式工作。(所謂菜單指用戶(hù)可以自由選擇所要執(zhí)行的功能)</p><p> 2、問(wèn)題的解決方案: </p><p> 根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以下步驟: </p><p> ?。?)應(yīng)用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計(jì);</p><p> ?。?)分析系統(tǒng)
66、中的各個(gè)實(shí)體及它們之間的關(guān)系包括屬性和行為; </p><p> (3)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類(lèi)層次; </p><p> (4)完成類(lèi)層次中各個(gè)類(lèi)的描述(包括屬性和方法); </p><p> ?。?)完成類(lèi)中各個(gè)成員函數(shù)的定義; </p><p> ?。?)完成系統(tǒng)的應(yīng)用模塊; </p><p><b&
67、gt; ?。?)功能調(diào)試; </b></p><p> ?。?)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書(shū)。</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> ?。?)要求學(xué)生達(dá)到熟練掌握C++語(yǔ)言的基本知識(shí)和技能; </p><p> ?。?)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; </p><p> ?。?)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問(wèn)題。 </p>&l
69、t;p><b> 2、基本要求: </b></p><p> ?。?)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來(lái)完成系統(tǒng)的設(shè)計(jì); </p><p> ?。?)要求在設(shè)計(jì)的過(guò)程中,建立清晰的類(lèi)層次; </p><p> ?。?)在系統(tǒng)中至少要定義四個(gè)類(lèi),每個(gè)類(lèi)中要有各自的屬性和方法; </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、寫(xiě)出設(shè)計(jì)說(shuō)明書(shū) </p><p> ?。ㄈ⒃O(shè)計(jì)方法和基本原理: </p><p&g
71、t; 1、問(wèn)題描述(功能要求): </p><p> 公司人員管理系統(tǒng)實(shí)現(xiàn)對(duì)公司人員按姓名或者編號(hào)顯示、查找、增加、刪除和保存各類(lèi)人員信息的操作。 </p><p> 某小型公司,主要有四類(lèi)人員:經(jīng)理、兼職技術(shù)人員、銷(xiāo)售經(jīng)理和兼職推銷(xiāo)員?,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)取月薪,兼職推銷(xiāo)員的報(bào)酬按該推銷(xiāo)員當(dāng)月銷(xiāo)售額提成 ,銷(xiāo)售經(jīng)理既拿固定月薪也領(lǐng)取銷(xiāo)售提成。 </p><p> 能按姓名或者編號(hào)顯示、查找、增加、刪除和保存各類(lèi)人員的信息 。在基本要
73、求達(dá)到后,可設(shè)計(jì)出比較友好的界面(如下拉菜單),也可用VC++ ClassWizard 設(shè)計(jì)(選作)。</p><p> 2、問(wèn)題的解決方案: </p><p> 根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以下步驟: </p><p> ?。?)應(yīng)用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計(jì);</p><p> ?。?)分析系統(tǒng)中的
74、各個(gè)實(shí)體及它們之間的關(guān)系包括屬性和行為; </p><p> ?。?)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類(lèi)層次; </p><p> ?。?)完成類(lèi)層次中各個(gè)類(lèi)的描述(包括屬性和方法); </p><p> ?。?)完成類(lèi)中各個(gè)成員函數(shù)的定義; </p><p> (6)完成系統(tǒng)的應(yīng)用模塊; </p><p><b>
75、; ?。?)功能調(diào)試; </b></p><p> ?。?)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書(shū)。</p><p> 課題6:圖書(shū)管理系統(tǒng)</p><p> ?。ㄒ唬?、課程設(shè)計(jì)題目:</p><p><b> 圖書(shū)管理系統(tǒng)</b></p><p> ?。ǘ⒛康呐c要求: </
76、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ì)問(wèn)題。 </p><p>
77、;<b> 2、基本要求: </b></p><p> ?。?)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來(lái)完成系統(tǒng)的設(shè)計(jì); </p><p> (2)要求在設(shè)計(jì)的過(guò)程中,建立清晰的類(lèi)層次; </p><p> (3)在系統(tǒng)中至少要定義四個(gè)類(lèi),每個(gè)類(lèi)中要有各自的屬性和方法; </p><p> ?。?)在系統(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、寫(xiě)出設(shè)計(jì)說(shuō)明書(shū) </p><p> ?。ㄈ?、設(shè)計(jì)方法和基本原理: </p><p> 1、
79、問(wèn)題描述(功能要求): </p><p> 在圖書(shū)管理系統(tǒng)中,要為每個(gè)借閱者建立一個(gè)賬戶(hù),并給借閱者發(fā)放借閱卡(借閱卡可以提供借閱卡號(hào)、借閱者名),賬戶(hù)中存儲(chǔ)借閱者的個(gè)人信息、借閱信息以及預(yù)定信息。持有借閱卡的借閱者可以借閱書(shū)刊、返還書(shū)刊、查詢(xún)書(shū)刊信息、預(yù)定書(shū)刊并取消預(yù)定,但這些操作都是通過(guò)圖書(shū)管理員進(jìn)行的,也即借閱者不直接與系統(tǒng)交互,而是圖書(shū)管理員充當(dāng)借閱者的代理與系統(tǒng)交互。在借閱書(shū)刊時(shí),需要輸入所借閱的書(shū)刊
80、名,書(shū)刊的ISBN/ISSN號(hào),然后輸入借閱者的圖書(shū)卡號(hào)和借閱者名,完成后提交所填表格,系統(tǒng)驗(yàn)證借閱者是否有效(在系統(tǒng)中存在賬戶(hù)),若有效,借閱請(qǐng)求被接受,系統(tǒng)查詢(xún)數(shù)據(jù)庫(kù)系統(tǒng),看借閱者所借閱的書(shū)刊是否存在,若存在,則借閱者可借出書(shū)刊,建立并在系統(tǒng)中存儲(chǔ)借閱記錄。借閱者還書(shū)后,刪除關(guān)于所還書(shū)刊的借閱記錄。如果借閱者所借的書(shū)刊已被借出,借閱者還可預(yù)定該書(shū)刊,一旦借閱者預(yù)定的書(shū)刊可以獲得,就將書(shū)刊直接寄給預(yù)定人(為了簡(jiǎn)化系統(tǒng),預(yù)定書(shū)刊可獲得時(shí)
81、就不通知借閱者了)。另外,為了簡(jiǎn)化系統(tǒng),也不考慮書(shū)刊的最長(zhǎng)借閱期限,假設(shè)借閱者可以無(wú)限期地保存所借閱的書(shū)刊。</p><p> 2、問(wèn)題的解決方案: </p><p> 根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以下步驟: </p><p> ?。?)應(yīng)用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計(jì);</p><p> (2)分析系
82、統(tǒng)中的各個(gè)實(shí)體及它們之間的關(guān)系包括屬性和行為; </p><p> ?。?)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類(lèi)層次; </p><p> (4)完成類(lèi)層次中各個(gè)類(lèi)的描述(包括屬性和方法); </p><p> ?。?)完成類(lèi)中各個(gè)成員函數(shù)的定義; </p><p> ?。?)完成系統(tǒng)的應(yīng)用模塊; </p><p><b
83、> ?。?)功能調(diào)試; </b></p><p> ?。?)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書(shū)。</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)注。如何獲取信息?圖書(shū)是我們最好的獲取信息的方式,但由于圖書(shū)館圖書(shū)收藏量大大增加,使傳統(tǒng)的圖書(shū)管理員的工作日益繁重起來(lái)。迫使人們起用新的管理方法來(lái)管理圖書(shū),但如何把圖書(shū)管理員從繁重的工作中解脫出來(lái)呢?</p><p> 科學(xué)技術(shù)日新月異的進(jìn)步,讓人類(lèi)生活發(fā)生了巨大的變
86、化,計(jì)算機(jī)技術(shù)的飛速發(fā)展,使各行各業(yè)在計(jì)算機(jī)技術(shù)應(yīng)用方面得到了廣泛的普及和使用。信息化時(shí)代的到來(lái)成為不可抗拒的潮流,人類(lèi)文明正在進(jìn)入一個(gè)嶄新的時(shí)代。因此,圖書(shū)管理系統(tǒng)也以方便、快捷、費(fèi)用低的優(yōu)點(diǎn)正慢慢地進(jìn)入人們的生活,將傳統(tǒng)的圖書(shū)管理方式徹底的解脫出來(lái),提高效率,減輕工人人員以往繁忙的工作,減小出錯(cuò)的概率,使讀者可以花更多的時(shí)間在選擇書(shū)和看書(shū)上。從而使人們有更多時(shí)間來(lái)獲取信息、了解信息、掌握信息 。</p><p&g
87、t; 利用圖書(shū)管理系統(tǒng)對(duì)圖書(shū)記錄進(jìn)行統(tǒng)一管理,包括新增圖書(shū)記錄,更改圖書(shū)記錄,刪除圖書(shū)記錄等功能,實(shí)現(xiàn)圖書(shū)管理工作的系統(tǒng)化,規(guī)范化和自動(dòng)化,為圖書(shū)管理提供便利。同時(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ì)的圖書(shū)管理系統(tǒng),可以完成圖書(shū)信息管理和讀者信息管理的功能,并能對(duì)借閱信息進(jìn)行管理。其中圖書(shū)信息管理,可以完成新增、更改、刪除、查找、顯示、全刪書(shū)籍信息功能。而讀者信息管理,可以完成新增、更改、刪除、查找、顯示、全刪讀者信息功能。對(duì)借書(shū)管理,可以進(jìn)行添加借書(shū)信息。對(duì)還書(shū)管理,可以進(jìn)行還書(shū)信。;</p>
89、<p> 該項(xiàng)目是在Visual C++ 6.0的平臺(tái)下用c++語(yǔ)言實(shí)現(xiàn),創(chuàng)建對(duì)象,程序運(yùn)行開(kāi)始,打開(kāi)文件并將其分別鏈入鏈表之中;程序結(jié)束關(guān)閉并保存文件。整體系統(tǒng)功能全部由鏈表實(shí)現(xiàn)。 </p><p><b> 2、模塊圖</b></p><p><b> 詳細(xì)設(shè)計(jì)</b></p><p> Book 圖
90、書(shū)類(lèi)、Reader讀者類(lèi)、BDatabase 圖書(shū)庫(kù)類(lèi)、RDatabase 讀者庫(kù)類(lèi),</p><p> 各類(lèi)的詳細(xì)描述如下:</p><p><b> 1、添加操作:</b></p><p> 先通過(guò)輸入設(shè)備輸入信息,系統(tǒng)獲取:</p><p> 然后添加入讀者數(shù)據(jù)庫(kù)read.txt文件中:</p>
91、<p><b> 2、借書(shū)操作:</b></p><p><b> 3、還書(shū)操作:</b></p><p><b> 系統(tǒng)調(diào)試</b></p><p> 圖書(shū)管理系統(tǒng)的主界面:</p><p><b> 圖 4-1</b></
92、p><p> 2、圖書(shū)信息的增添:</p><p><b> 圖 4-2</b></p><p> 3、讀者信息的顯示:</p><p><b> 圖 4-3</b></p><p><b> 4、借書(shū)操作:</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、圖書(shū)信息的查找:</p>
94、<p><b> 圖 4-7</b></p><p><b> 7、還書(shū)操作:</b></p><p><b> 圖 4-8</b></p><p> 8、圖書(shū)信息的全刪:</p><p><b> 圖 4-9</b></p&g
95、t;<p> 9、圖書(shū)管理系統(tǒng)的退出界面:</p><p><b> 圖 4-10</b></p><p><b> 總結(jié)</b></p><p> 通過(guò)這兩周的課程設(shè)計(jì),我逐步學(xué)會(huì)了如何運(yùn)用C++面向?qū)ο蟪绦蛟O(shè)計(jì)的設(shè)計(jì)思想和方法來(lái)解決實(shí)際問(wèn)題。</p><p> 在這次設(shè)計(jì)
96、圖書(shū)管理系統(tǒng)中,我首先要考慮是實(shí)際應(yīng)用時(shí),用戶(hù)的操作會(huì)是什么,對(duì)哪些對(duì)象進(jìn)行操作。這樣,很顯然的我需要建立兩個(gè)類(lèi),包括圖書(shū)類(lèi)和讀者類(lèi);同時(shí)考慮到圖書(shū)和讀者不止一個(gè),所以還需要兩個(gè)類(lèi),圖書(shū)庫(kù)類(lèi)和讀者庫(kù)類(lèi),這兩個(gè)類(lèi)分別將其信息傳遞給圖書(shū)類(lèi)和讀者類(lèi)。</p><p> 確定了類(lèi)之后,則需要對(duì)類(lèi)的內(nèi)容進(jìn)行擴(kuò)充。由于我這個(gè)系統(tǒng)需要完成對(duì)圖書(shū)管理和讀者管理的功能,并能對(duì)借閱信息進(jìn)行管理,如圖書(shū)資料管理要包括新增、更改、刪除
97、、查找、顯示、全刪書(shū)籍信息;讀者資料管理要包括新增、更改、刪除、查找、顯示、全刪讀者信息;借書(shū)管理,可以進(jìn)行借書(shū)操作;還書(shū)管理,可以進(jìn)行還書(shū)操作。所以在對(duì)應(yīng)的類(lèi)下建立相應(yīng)功能函數(shù)就順理成章了。建立功能函數(shù)后就是編寫(xiě)主函數(shù)了,主函數(shù)的作用就是通過(guò)向?qū)ο蟀l(fā)送信息、對(duì)象接受信息啟動(dòng)相應(yīng)的方法來(lái)實(shí)現(xiàn)相應(yīng)的操作。</p><p> 為了能夠較好地完成本次課程設(shè)計(jì),我詳細(xì)閱讀了教材,還在網(wǎng)上進(jìn)行了大量搜索,以及到圖書(shū)館查找
98、相關(guān)資料等一些努力。在做課程設(shè)計(jì)的過(guò)程中,我在利用所學(xué)知識(shí)的同時(shí),又學(xué)到了很多實(shí)例化的理論知識(shí)和軟件工程的一些實(shí)踐,總結(jié)出了一些經(jīng)驗(yàn)和方法,強(qiáng)化了我的實(shí)際動(dòng)手能力,確實(shí)也找到了自己的不足。所以,我一定會(huì)繼續(xù)學(xué)習(xí)來(lái)增加自己的編程能力和調(diào)試能力。那么,在今后的學(xué)習(xí)中我將會(huì)更加認(rèn)真,以增加自己的知識(shí)儲(chǔ)備,拓寬自己的知識(shí)面,鍛煉自己的能力,最終使我的綜合素質(zhì)得到較大的提高。</p><p> 不能不提的是,在這次課程設(shè)
99、計(jì)的過(guò)程中我確實(shí)出現(xiàn)過(guò)一些比較嚴(yán)重的錯(cuò)誤,碰到過(guò)一些難以跨過(guò)的路障,但慶幸的是我在老師和同學(xué)的幫助下改正錯(cuò)誤,克服了困難,并最終成功調(diào)試出了程序。當(dāng)程序調(diào)試出來(lái)的那一瞬間,我感覺(jué)自己完成了一件非常了不起的事,特別有成就感,這大大增加了我的信息。在以后的日子,我將會(huì)繼續(xù)我的興趣繼續(xù)深入學(xué)習(xí)程序設(shè)計(jì),相信在越來(lái)越多的嘗試之后,自己會(huì)不斷地進(jìn)步不斷地提高。</p><p> 回顧本次課程設(shè)計(jì),雖然說(shuō)在過(guò)程中保證了面向
100、對(duì)象程序設(shè)計(jì)的抽象、封裝、多態(tài)和繼承的特點(diǎn),也綜合考慮到了圖書(shū)管理的具體方面,以及做到了界面設(shè)計(jì)的簡(jiǎn)潔與友好、數(shù)據(jù)庫(kù)設(shè)計(jì)的合理,但無(wú)可爭(zhēng)辯的是確實(shí)存在一些不足,還請(qǐng)各位老師和同學(xué)多多指教。 最后衷心地感謝老師的指導(dǎo)與同學(xué)的幫助,沒(méi)有你們,我不可能比較順利的完成這次程序設(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; //最多的圖書(shū) </p><p> const int Maxbor=5; //每位讀者最多借五本書(shū)</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]; //所借圖書(shū) </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]) //借書(shū)操作 </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) //還書(shū)操作 </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<<"還書(shū)成功!"<<endl;</p><p> return 1; </p><p><b> } </b></p><p><b> }</b></p&
116、gt;<p> cout<<"未借該書(shū),還書(shū)失??!"<<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<<" 還未借書(shū)";</p><p> cout <<endl;</p><p><b>
122、} </b></p><p><b> }; </b></p><p> class RDatabase //讀者類(lèi)庫(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); //打開(kāi)一個(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖書(shū)管理系統(tǒng)c++課程設(shè)計(jì)
- c++圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- c++圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- c++圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)圖書(shū)管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告-圖書(shū)管理系統(tǒng)
- c++課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)的設(shè)計(jì)
- c++課程設(shè)計(jì)圖書(shū)管理
- c&c++課程設(shè)計(jì)-圖書(shū)管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告--小型圖書(shū)管理系統(tǒng)
- c++課程設(shè)計(jì)圖書(shū)管理系統(tǒng) (2)
- c++課程設(shè)計(jì)報(bào)告書(shū)---圖書(shū)管理系統(tǒng)
- c++課程設(shè)計(jì)(簡(jiǎn)易圖書(shū)管理系統(tǒng))實(shí)習(xí)報(bào)告
- c課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)
- c++課程設(shè)計(jì)---圖書(shū)銷(xiāo)售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)
- c課程設(shè)計(jì)報(bào)告-- 圖書(shū)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)(圖書(shū)管理系統(tǒng))
- c#-圖書(shū)管理系統(tǒng)-課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論