版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 《面向?qū)ο蟪绦蛟O(shè)計(jì)C++》</p><p> 課程設(shè)計(jì)圖書管理系統(tǒng)說明書</p><p> 組 員: </p><p> 院 系: 電子信息工程學(xué)院 </p><p> 專 業(yè) 班 級(jí): 計(jì)算機(jī)*** &
2、lt;/p><p> 指 導(dǎo) 教 師: </p><p> 日期: 2011年12月 </p><p><b> 目錄</b></p><p> 《面向?qū)ο蟪绦蛟O(shè)計(jì)C++》1</p><p> 課程設(shè)計(jì)圖書管理系統(tǒng)說明書1</p&
3、gt;<p><b> 一、實(shí)驗(yàn)?zāi)康?</b></p><p><b> 二、實(shí)驗(yàn)原理2</b></p><p><b> 1、類與對(duì)象3</b></p><p><b> 2、構(gòu)造函數(shù)3</b></p><p> 3、繼承
4、、虛函數(shù)3</p><p><b> 三、實(shí)驗(yàn)要求3</b></p><p><b> 1. 實(shí)驗(yàn)準(zhǔn)備3</b></p><p><b> 2. 實(shí)驗(yàn)步驟3</b></p><p> 3. 系統(tǒng)主要功能:4</p><p> 四、實(shí)驗(yàn)
5、儀器設(shè)備和軟件環(huán)境4</p><p> 五、實(shí)驗(yàn)步驟及結(jié)果測試及分析。4</p><p><b> 六.實(shí)驗(yàn)心得8</b></p><p> 七.附錄(部分關(guān)鍵代碼)9</p><p><b> 八.參考文獻(xiàn)12</b></p><p> 背景: 課程設(shè)
6、計(jì)比教學(xué)實(shí)驗(yàn)復(fù)雜,涉及的深度較廣,并更加實(shí)用。目的是通過課程設(shè)計(jì)的綜合訓(xùn)練,培養(yǎng)實(shí)際分析問題和編程能力。最終目標(biāo)是通過課程設(shè)計(jì)的形式,幫助學(xué)習(xí)者系統(tǒng)地掌握該門課程的主要內(nèi)容,更好地完成學(xué)習(xí)任務(wù)。另外,課程設(shè)計(jì)中的較大規(guī)模的綜合設(shè)計(jì),可以分成幾個(gè)小項(xiàng)目進(jìn)行分工合作,以培養(yǎng)團(tuán)隊(duì)協(xié)作精神。</p><p><b> 一、實(shí)驗(yàn)?zāi)康?lt;/b></p><p> 綜合復(fù)習(xí)課程的
7、所有知識(shí)點(diǎn),進(jìn)一步熟練面向?qū)ο蟪绦虻拈_發(fā)方法和流程,提高獨(dú)立分析問題和解決問題的能力,進(jìn)一步培養(yǎng)動(dòng)手實(shí)踐技能。</p><p><b> 實(shí)驗(yàn)內(nèi)容主要包括:</b></p><p> ?。?)了解圖書管理系統(tǒng)的功能,需要完成的主要任務(wù);</p><p> (2)掌握類、對(duì)象、繼承等面向?qū)ο蠹夹g(shù)的編程實(shí)現(xiàn);</p><p&
8、gt; (3)掌握如何進(jìn)行一個(gè)較完整系統(tǒng)的整合。</p><p><b> 二、實(shí)驗(yàn)原理</b></p><p> 在以往學(xué)習(xí)的基礎(chǔ)上,對(duì)以往所學(xué)內(nèi)容進(jìn)行整合,綜合運(yùn)用類、對(duì)象、繼承等面向?qū)ο蠹夹g(shù),進(jìn)行圖書管理系統(tǒng)的開發(fā)。</p><p> 面向?qū)ο蟮膸讉€(gè)基本概念:</p><p><b> 1、類與
9、對(duì)象</b></p><p> 類是C++語言封裝的基本單位,用來創(chuàng)建對(duì)象,它是定義對(duì)象形式的模板,指定代碼和數(shù)據(jù)。C++使用類的規(guī)范構(gòu)建對(duì)象,對(duì)象是類的實(shí)例。定義一個(gè)類時(shí),要聲明其包含的數(shù)據(jù)以及處理這些數(shù)據(jù)的代碼。數(shù)據(jù)包含于由類定義的實(shí)例變量中,代碼則包含于函數(shù)中,組成類的代碼和數(shù)據(jù)稱為這個(gè)類的成員?!?lt;/p><p><b> 2、構(gòu)造函數(shù)</b>
10、</p><p> 構(gòu)造函數(shù)在對(duì)象創(chuàng)建時(shí)進(jìn)行初始化,為類定義的實(shí)例變量賦初始值,或者執(zhí)行一個(gè)結(jié)構(gòu)完整的對(duì)象必須的任何其他啟動(dòng)過程。</p><p><b> 3、繼承、虛函數(shù)</b></p><p> 繼承允許一個(gè)類繼承另一個(gè)類的特征。使用繼承可以創(chuàng)建一個(gè)普通類,定義一組相關(guān)對(duì)象的共有特征,然后這個(gè)類可以由另一個(gè)更為具體的類繼承,每個(gè)類都
11、可以增加自己獨(dú)有的元素。虛函數(shù)建立在繼承的基礎(chǔ)上,支持多態(tài),即“一個(gè)接口多種方法”的面向?qū)ο缶幊淘瓌t。</p><p> 在C++中被繼承的類叫基類,繼承基類的類是派生類。因此,派生類就是基類的具體版本。派生類繼承基類定義的所有成員并添加自己的獨(dú)特元素。C++通過允許一個(gè)類將另一個(gè)類合并到其聲明中來實(shí)現(xiàn)繼承。</p><p> C++支持多態(tài)性的基礎(chǔ),由繼承和基類指針組成,實(shí)際實(shí)現(xiàn)多態(tài)
12、性的具體功能就是虛函數(shù)。虛函數(shù)在基類中聲明為virtual,并在一個(gè)或多個(gè)派生類中重新定義。因此,每個(gè)派生類都可以有自己的虛函數(shù)版本。調(diào)用時(shí),C++根據(jù)指針指向的對(duì)象的類型確定調(diào)用函數(shù)的哪個(gè)版本。因此,如果基類包含虛函數(shù)且有兩個(gè)或多個(gè)類由基類派生而來,那么當(dāng)通過基類指針指向不同類型對(duì)象時(shí),就會(huì)執(zhí)行不同版本的虛函數(shù)。多態(tài)性是面向?qū)ο缶幊痰幕竟δ?,因?yàn)樗试S一般化的類指定類的所有派生類共用的那些函數(shù),同時(shí)允許派生類定義所有這些函數(shù)或其中一
13、部分函數(shù)的具體實(shí)現(xiàn)。</p><p><b> 三、實(shí)驗(yàn)要求</b></p><p><b> 1. 實(shí)驗(yàn)準(zhǔn)備</b></p><p> 綜合復(fù)習(xí)編寫該程序要用到的所有知識(shí)點(diǎn)。</p><p> 安裝 Visual C++6.0 集成開發(fā)環(huán)境。 </p><p>&l
14、t;b> 2. 實(shí)驗(yàn)步驟 </b></p><p> 調(diào)研:到圖書館、資料室調(diào)研圖書管理方式及圖書分類的國家標(biāo)準(zhǔn)。</p><p> 系統(tǒng)分析:分析系統(tǒng)的構(gòu)成模塊和開發(fā)流程。</p><p> 系統(tǒng)開發(fā):按照系統(tǒng)模塊的劃分和開發(fā)流程,編寫程序代碼。 </p><p> 系統(tǒng)測試:做單元、接口、集成測試,白盒和黑盒兩
15、種方法相結(jié)合。 </p><p> 系統(tǒng)提交:提交程序,實(shí)驗(yàn)報(bào)告,測試數(shù)據(jù)和結(jié)果。 </p><p> 3. 系統(tǒng)主要功能:</p><p><b> ?。?)讀者借書。</b></p><p><b> (2)讀者還書。</b></p><p><b>
16、(3)圖書維護(hù)。</b></p><p><b> ?。?)讀者維護(hù)。</b></p><p> 四、實(shí)驗(yàn)儀器設(shè)備和軟件環(huán)境</p><p> 計(jì)算機(jī),Windows2000或WindowsXP操作系統(tǒng),Visual C++6.0</p><p> 五、實(shí)驗(yàn)步驟及結(jié)果測試及分析。</p>
17、<p> 對(duì)多個(gè)模擬數(shù)據(jù)進(jìn)行測試,觀察圖書、讀者信息的更新,對(duì)系統(tǒng)的各項(xiàng)功能都要進(jìn)行一一測試,充分運(yùn)用黑盒測試和白盒測試等手段進(jìn)行。</p><p> (一)系統(tǒng)主功能模塊圖</p><p> 圖1 系統(tǒng)功能模塊圖</p><p><b> ?。ǘ┫到y(tǒng)運(yùn)行截圖</b></p><p><b>
18、 記錄操作區(qū)</b></p><p><b> 字串表</b></p><p><b> 六.實(shí)驗(yàn)心得</b></p><p> 這次課程設(shè)計(jì)讓我掌握了許多的有用知識(shí)。首先通過不斷地學(xué)習(xí)和鍛煉更加熟悉地掌握應(yīng)用軟件Microsoft Visual C++6.0了。設(shè)計(jì)正確及合適的程序
19、對(duì)于我們初心者來說是很大的難題,出現(xiàn)一丁點(diǎn)錯(cuò)誤就得費(fèi)很大努力去修改,正式這一步步一點(diǎn)點(diǎn)的努力讓我對(duì)C語言有了更加深刻的認(rèn)識(shí)。同時(shí)我掌握了解決問題的方法,無論是對(duì)以后的學(xué)習(xí)、生活都有無比重要的價(jià)值</p><p> 在這次課程設(shè)計(jì)中,我們小組完成了圖書管理系統(tǒng)的設(shè)計(jì),小組內(nèi)的分工和相互協(xié)調(diào)很重要,大家在分工中揚(yáng)長避短,個(gè)及所長,很好的提高了大家的積極性和合作意識(shí),并有效的縮短了完成時(shí)間。通過這次的設(shè)計(jì),我學(xué)到了
20、很多,同時(shí)也學(xué)會(huì)了細(xì)心與耐心的培養(yǎng)。我想這在將來的工作或社會(huì)“旅程”中都將起到很大的幫助。</p><p> 在設(shè)計(jì)中,每個(gè)同學(xué)都會(huì)遇到一些困難,或多或少,這些困難常常讓我心情煩躁,比如不能清晰的建立設(shè)計(jì)模板,不會(huì)修改出現(xiàn)的錯(cuò)誤等等,然后我向同學(xué)尋求幫助,向他們學(xué)習(xí),最終通過自己努力建立了模版。不可避免程序中肯定依然存在著某些問題,我希望在以后的學(xué)習(xí)和應(yīng)用中不斷提高自己的能力,攻克遇到的難題。同時(shí)我也深刻的體會(huì)
21、到團(tuán)隊(duì)的合作是多么的重要</p><p> 在學(xué)習(xí)C++以前,我認(rèn)為c++只是在c語言的基礎(chǔ)上的一種延伸,認(rèn)為只要學(xué)習(xí)c預(yù)言就可以用c語言的那種設(shè)計(jì)思想來學(xué)習(xí)c++\設(shè)計(jì)c++程序。只是由于抱了這種思想,是我在一開始學(xué)習(xí)c++的時(shí)候遇到了很大的困難,我沒有辦法體會(huì)面向?qū)ο蟮脑O(shè)計(jì)思想,我在學(xué)習(xí)這門課的時(shí)候老是想著實(shí)現(xiàn)這個(gè)函數(shù)功能的具體過程,而沒有太注意對(duì)象分類的重要性。在學(xué)習(xí)這門課的過程中,我感受到了自己親手編程
22、序、調(diào)程序的重要性,我們要熟悉c++的語法、體會(huì)調(diào)試的思想,最好的一個(gè)手段就是自己動(dòng)手編程、調(diào)試,這會(huì)比我們一味的看書效果好得多。</p><p> 七.附錄(部分關(guān)鍵代碼)</p><p> // 102圖書城View.h : interface of the C102View class</p><p><b> //</b><
23、/p><p> /////////////////////////////////////////////////////////////////////////////</p><p> #if !defined(AFX_102VIEW_H__641E7367_4011_40C3_9046_91B74C65F92C__INCLUDED_)</p><p> #d
24、efine AFX_102VIEW_H__641E7367_4011_40C3_9046_91B74C65F92C__INCLUDED_</p><p> #if _MSC_VER > 1000</p><p> #pragma once</p><p> #endif // _MSC_VER > 1000</p><p>
25、 class C102Set;</p><p> class C102View : public CRecordView</p><p><b> {</b></p><p> protected: // create from serialization only</p><p> C102View();&l
26、t;/p><p> DECLARE_DYNCREATE(C102View)</p><p><b> public:</b></p><p> //{{AFX_DATA(C102View)</p><p> enum { IDD = IDD_102_FORM };</p><p> C102
27、Set* m_pSet;</p><p> //}}AFX_DATA</p><p> // Attributes</p><p><b> public:</b></p><p> C102Doc* GetDocument();</p><p> // Operations</p
28、><p><b> public:</b></p><p> // Overrides</p><p> // ClassWizard generated virtual function overrides</p><p> //{{AFX_VIRTUAL(C102View)</p><p>
29、;<b> public:</b></p><p> virtual CRecordset* OnGetRecordset();</p><p> virtual BOOL PreCreateWindow(CREATESTRUCT& cs);</p><p> protected:</p><p> v
30、irtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support</p><p> virtual void OnInitialUpdate(); // called first time after construct</p><p> virtual BOOL OnPreparePrinting(CPrint
31、Info* pInfo);</p><p> virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);</p><p> virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);</p><p> //}}AFX_VIRTUAL</p>
32、;<p> // Implementation</p><p><b> public:</b></p><p> virtual ~C102View();</p><p> #ifdef _DEBUG</p><p> virtual void AssertValid() const;</
33、p><p> virtual void Dump(CDumpContext& dc) const;</p><p><b> #endif</b></p><p> protected:</p><p> // Generated message map functions</p><p&
34、gt; protected:</p><p> //{{AFX_MSG(C102View)</p><p> afx_msg void OnButtonaddnew();</p><p> afx_msg void OnButtondelete();</p><p> afx_msg void OnButtonupdate();&l
35、t;/p><p> afx_msg void OnButtonfirst();</p><p> afx_msg void OnButtonprev();</p><p> afx_msg void OnButtonnext();</p><p> afx_msg void OnButtonlast();</p><p
36、> afx_msg void OnRadio1();</p><p> afx_msg void OnRadio2();</p><p> afx_msg void OnButton3();</p><p> //}}AFX_MSG</p><p> DECLARE_MESSAGE_MAP()</p><p
37、><b> };</b></p><p> #ifndef _DEBUG // debug version in 102圖書城View.cpp</p><p> inline C102Doc* C102View::GetDocument()</p><p> { return (C102Doc*)m_pDocument; }&l
38、t;/p><p><b> #endif</b></p><p> /////////////////////////////////////////////////////////////////////////////</p><p> //{{AFX_INSERT_LOCATION}}</p><p> //
39、Microsoft Visual C++ will insert additional declarations immediately before the previous line.</p><p> #endif // !defined(AFX_102VIEW_H__641E7367_4011_40C3_9046_91B74C65F92C__INCLUDED_)</p><p>
40、 // 102圖書城Set.h : interface of the C102Set class</p><p><b> //</b></p><p> /////////////////////////////////////////////////////////////////////////////</p><p> #if
41、!defined(AFX_102SET_H__98C62E7F_389F_49F6_9454_A2D60835C2C4__INCLUDED_)</p><p> #define AFX_102SET_H__98C62E7F_389F_49F6_9454_A2D60835C2C4__INCLUDED_</p><p> #if _MSC_VER > 1000</p>
42、<p> #pragma once</p><p> #endif // _MSC_VER > 1000</p><p> class C102Set : public CRecordset</p><p><b> {</b></p><p><b> public:</b&g
43、t;</p><p> C102Set(CDatabase* pDatabase = NULL);</p><p> DECLARE_DYNAMIC(C102Set)</p><p> // Field/Param Data</p><p> //{{AFX_FIELD(C102Set, CRecordset)</p>
44、<p> CStringm_bookID;</p><p> CStringm_bookname;</p><p> CStringm_class;</p><p> CStringm_outhor;</p><p> CStringm_price;</p><p> intm_num
45、ber;</p><p> CStringm_introduce;</p><p> CStringm_public;</p><p> CTimem_publictime;</p><p> CStringm_stdnum;</p><p> CStringm_bookID2;</p>
46、<p> CStringm_bookname2;</p><p> CTimem_brotime;</p><p> CStringm_identity;</p><p> CStringm_stdname;</p><p> //}}AFX_FIELD</p><p> // Ove
47、rrides</p><p> // ClassWizard generated virtual function overrides</p><p> //{{AFX_VIRTUAL(C102Set)</p><p><b> public:</b></p><p> virtual CString GetDe
48、faultConnect();// Default connection string</p><p> virtual CString GetDefaultSQL(); // default SQL for Recordset</p><p> virtual void DoFieldExchange(CFieldExchange* pFX);// RFX support<
49、;/p><p> //}}AFX_VIRTUAL</p><p> // Implementation</p><p> #ifdef _DEBUG</p><p> virtual void AssertValid() const;</p><p> virtual void Dump(CDumpContext
50、& dc) const;</p><p><b> #endif</b></p><p><b> };</b></p><p> //{{AFX_INSERT_LOCATION}}</p><p> // Microsoft Visual C++ will insert addit
51、ional declarations immediately before the previous line.</p><p> #endif // !defined(AFX_102SET_H__98C62E7F_389F_49F6_9454_A2D60835C2C4__INCLUDED_)</p><p><b> 八.參考文獻(xiàn)</b></p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計(jì)圖書管理系統(tǒng)
- c課程設(shè)計(jì)---圖書管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)圖書管理
- 《圖書管理系統(tǒng)》課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)圖書管理系統(tǒng)
- 圖書管理系統(tǒng)課程設(shè)計(jì)
- 圖書管理系統(tǒng)課程設(shè)計(jì)
- 圖書管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)---圖書管理系統(tǒng)
- c++課程設(shè)計(jì)圖書管理系統(tǒng) (2)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)圖書管理系統(tǒng)
- 課程設(shè)計(jì)---圖書管理
- 圖書管理系統(tǒng)課程設(shè)計(jì) (2)
- java課程設(shè)計(jì)--圖書管理系統(tǒng)
- sql課程設(shè)計(jì)---圖書管理系統(tǒng)
- sql圖書管理系統(tǒng)課程設(shè)計(jì)
- vb圖書管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)---圖書管理系統(tǒng)詳細(xì)設(shè)計(jì)
- oracle課程設(shè)計(jì)--圖書管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論