版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 《面向?qū)ο蟪绦蛟O計C++》</p><p> 課程設計圖書管理系統(tǒng)說明書</p><p> 組 員: </p><p> 院 系: 電子信息工程學院 </p><p> 專 業(yè) 班 級: 計算機*** &
2、lt;/p><p> 指 導 教 師: </p><p> 日期: 2011年12月 </p><p><b> 目錄</b></p><p> 《面向?qū)ο蟪绦蛟O計C++》1</p><p> 課程設計圖書管理系統(tǒng)說明書1</p&
3、gt;<p><b> 一、實驗目的2</b></p><p><b> 二、實驗原理2</b></p><p><b> 1、類與對象3</b></p><p><b> 2、構造函數(shù)3</b></p><p> 3、繼承
4、、虛函數(shù)3</p><p><b> 三、實驗要求3</b></p><p><b> 1. 實驗準備3</b></p><p><b> 2. 實驗步驟3</b></p><p> 3. 系統(tǒng)主要功能:4</p><p> 四、實驗
5、儀器設備和軟件環(huán)境4</p><p> 五、實驗步驟及結(jié)果測試及分析。4</p><p><b> 六.實驗心得8</b></p><p> 七.附錄(部分關鍵代碼)9</p><p><b> 八.參考文獻12</b></p><p> 背景: 課程設
6、計比教學實驗復雜,涉及的深度較廣,并更加實用。目的是通過課程設計的綜合訓練,培養(yǎng)實際分析問題和編程能力。最終目標是通過課程設計的形式,幫助學習者系統(tǒng)地掌握該門課程的主要內(nèi)容,更好地完成學習任務。另外,課程設計中的較大規(guī)模的綜合設計,可以分成幾個小項目進行分工合作,以培養(yǎng)團隊協(xié)作精神。</p><p><b> 一、實驗目的</b></p><p> 綜合復習課程的
7、所有知識點,進一步熟練面向?qū)ο蟪绦虻拈_發(fā)方法和流程,提高獨立分析問題和解決問題的能力,進一步培養(yǎng)動手實踐技能。</p><p><b> 實驗內(nèi)容主要包括:</b></p><p> ?。?)了解圖書管理系統(tǒng)的功能,需要完成的主要任務;</p><p> ?。?)掌握類、對象、繼承等面向?qū)ο蠹夹g的編程實現(xiàn);</p><p&
8、gt; ?。?)掌握如何進行一個較完整系統(tǒng)的整合。</p><p><b> 二、實驗原理</b></p><p> 在以往學習的基礎上,對以往所學內(nèi)容進行整合,綜合運用類、對象、繼承等面向?qū)ο蠹夹g,進行圖書管理系統(tǒng)的開發(fā)。</p><p> 面向?qū)ο蟮膸讉€基本概念:</p><p><b> 1、類與
9、對象</b></p><p> 類是C++語言封裝的基本單位,用來創(chuàng)建對象,它是定義對象形式的模板,指定代碼和數(shù)據(jù)。C++使用類的規(guī)范構建對象,對象是類的實例。定義一個類時,要聲明其包含的數(shù)據(jù)以及處理這些數(shù)據(jù)的代碼。數(shù)據(jù)包含于由類定義的實例變量中,代碼則包含于函數(shù)中,組成類的代碼和數(shù)據(jù)稱為這個類的成員?!?lt;/p><p><b> 2、構造函數(shù)</b>
10、</p><p> 構造函數(shù)在對象創(chuàng)建時進行初始化,為類定義的實例變量賦初始值,或者執(zhí)行一個結(jié)構完整的對象必須的任何其他啟動過程。</p><p><b> 3、繼承、虛函數(shù)</b></p><p> 繼承允許一個類繼承另一個類的特征。使用繼承可以創(chuàng)建一個普通類,定義一組相關對象的共有特征,然后這個類可以由另一個更為具體的類繼承,每個類都
11、可以增加自己獨有的元素。虛函數(shù)建立在繼承的基礎上,支持多態(tài),即“一個接口多種方法”的面向?qū)ο缶幊淘瓌t。</p><p> 在C++中被繼承的類叫基類,繼承基類的類是派生類。因此,派生類就是基類的具體版本。派生類繼承基類定義的所有成員并添加自己的獨特元素。C++通過允許一個類將另一個類合并到其聲明中來實現(xiàn)繼承。</p><p> C++支持多態(tài)性的基礎,由繼承和基類指針組成,實際實現(xiàn)多態(tài)
12、性的具體功能就是虛函數(shù)。虛函數(shù)在基類中聲明為virtual,并在一個或多個派生類中重新定義。因此,每個派生類都可以有自己的虛函數(shù)版本。調(diào)用時,C++根據(jù)指針指向的對象的類型確定調(diào)用函數(shù)的哪個版本。因此,如果基類包含虛函數(shù)且有兩個或多個類由基類派生而來,那么當通過基類指針指向不同類型對象時,就會執(zhí)行不同版本的虛函數(shù)。多態(tài)性是面向?qū)ο缶幊痰幕竟δ埽驗樗试S一般化的類指定類的所有派生類共用的那些函數(shù),同時允許派生類定義所有這些函數(shù)或其中一
13、部分函數(shù)的具體實現(xiàn)。</p><p><b> 三、實驗要求</b></p><p><b> 1. 實驗準備</b></p><p> 綜合復習編寫該程序要用到的所有知識點。</p><p> 安裝 Visual C++6.0 集成開發(fā)環(huán)境。 </p><p>&l
14、t;b> 2. 實驗步驟 </b></p><p> 調(diào)研:到圖書館、資料室調(diào)研圖書管理方式及圖書分類的國家標準。</p><p> 系統(tǒng)分析:分析系統(tǒng)的構成模塊和開發(fā)流程。</p><p> 系統(tǒng)開發(fā):按照系統(tǒng)模塊的劃分和開發(fā)流程,編寫程序代碼。 </p><p> 系統(tǒng)測試:做單元、接口、集成測試,白盒和黑盒兩
15、種方法相結(jié)合。 </p><p> 系統(tǒng)提交:提交程序,實驗報告,測試數(shù)據(jù)和結(jié)果。 </p><p> 3. 系統(tǒng)主要功能:</p><p><b> ?。?)讀者借書。</b></p><p><b> (2)讀者還書。</b></p><p><b>
16、(3)圖書維護。</b></p><p><b> (4)讀者維護。</b></p><p> 四、實驗儀器設備和軟件環(huán)境</p><p> 計算機,Windows2000或WindowsXP操作系統(tǒng),Visual C++6.0</p><p> 五、實驗步驟及結(jié)果測試及分析。</p>
17、<p> 對多個模擬數(shù)據(jù)進行測試,觀察圖書、讀者信息的更新,對系統(tǒng)的各項功能都要進行一一測試,充分運用黑盒測試和白盒測試等手段進行。</p><p> (一)系統(tǒng)主功能模塊圖</p><p> 圖1 系統(tǒng)功能模塊圖</p><p><b> ?。ǘ┫到y(tǒng)運行截圖</b></p><p><b>
18、 記錄操作區(qū)</b></p><p><b> 字串表</b></p><p><b> 六.實驗心得</b></p><p> 這次課程設計讓我掌握了許多的有用知識。首先通過不斷地學習和鍛煉更加熟悉地掌握應用軟件Microsoft Visual C++6.0了。設計正確及合適的程序
19、對于我們初心者來說是很大的難題,出現(xiàn)一丁點錯誤就得費很大努力去修改,正式這一步步一點點的努力讓我對C語言有了更加深刻的認識。同時我掌握了解決問題的方法,無論是對以后的學習、生活都有無比重要的價值</p><p> 在這次課程設計中,我們小組完成了圖書管理系統(tǒng)的設計,小組內(nèi)的分工和相互協(xié)調(diào)很重要,大家在分工中揚長避短,個及所長,很好的提高了大家的積極性和合作意識,并有效的縮短了完成時間。通過這次的設計,我學到了
20、很多,同時也學會了細心與耐心的培養(yǎng)。我想這在將來的工作或社會“旅程”中都將起到很大的幫助。</p><p> 在設計中,每個同學都會遇到一些困難,或多或少,這些困難常常讓我心情煩躁,比如不能清晰的建立設計模板,不會修改出現(xiàn)的錯誤等等,然后我向同學尋求幫助,向他們學習,最終通過自己努力建立了模版。不可避免程序中肯定依然存在著某些問題,我希望在以后的學習和應用中不斷提高自己的能力,攻克遇到的難題。同時我也深刻的體會
21、到團隊的合作是多么的重要</p><p> 在學習C++以前,我認為c++只是在c語言的基礎上的一種延伸,認為只要學習c預言就可以用c語言的那種設計思想來學習c++\設計c++程序。只是由于抱了這種思想,是我在一開始學習c++的時候遇到了很大的困難,我沒有辦法體會面向?qū)ο蟮脑O計思想,我在學習這門課的時候老是想著實現(xiàn)這個函數(shù)功能的具體過程,而沒有太注意對象分類的重要性。在學習這門課的過程中,我感受到了自己親手編程
22、序、調(diào)程序的重要性,我們要熟悉c++的語法、體會調(diào)試的思想,最好的一個手段就是自己動手編程、調(diào)試,這會比我們一味的看書效果好得多。</p><p> 七.附錄(部分關鍵代碼)</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> 八.參考文獻</b></p>
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設計圖書管理系統(tǒng)
- c課程設計---圖書管理系統(tǒng)課程設計
- c++課程設計圖書管理
- 《圖書管理系統(tǒng)》課程設計
- 數(shù)據(jù)結(jié)構課程設計圖書管理系統(tǒng)
- 圖書管理系統(tǒng)課程設計
- 圖書管理系統(tǒng)課程設計
- 圖書管理系統(tǒng)課程設計
- 課程設計---圖書管理系統(tǒng)
- c++課程設計圖書管理系統(tǒng) (2)
- 數(shù)據(jù)結(jié)構課程設計圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設計圖書管理系統(tǒng)
- 課程設計---圖書管理
- 圖書管理系統(tǒng)課程設計 (2)
- java課程設計--圖書管理系統(tǒng)
- sql課程設計---圖書管理系統(tǒng)
- sql圖書管理系統(tǒng)課程設計
- vb圖書管理系統(tǒng)課程設計
- 課程設計---圖書管理系統(tǒng)詳細設計
- oracle課程設計--圖書管理系統(tǒng)
評論
0/150
提交評論