版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> C++面向?qū)ο笳n程設計報告</p><p> 院(系): 計算機工程專業(yè) </p><p> 專業(yè): 軟件 </p><p> 學生姓名: XXX </p><p> 班級:
2、_XXX___ 學號: XXX </p><p> 題目: 瀏覽器 </p><p> 起迄日期: 2011.7.5—2011.7.13 </p><p> 設計地點: 機房209 </p>
3、<p> 指 導 教 師: XXX </p><p> 完成日期: 2010 年 7 月 13 日</p><p><b> 課程設計目的</b></p><p> 進行C++面向?qū)ο蟪绦蛟O計課程設計主要是在學習C++這門面向?qū)ο笳Z言的基礎上,在完成C++面向?qū)ο蟪绦?/p>
4、設計各部分實驗的基礎上,通過自學MFC,掌握一種可視化編程的方法,并通過實踐加深對可視化編程與C++面向?qū)ο蟪绦蛟O計語言特點的認識與理解。同時,可以提高運用C++編程語言解決實際問題的能力;鍛煉實際的編程能力、創(chuàng)新能力及團隊組織、協(xié)作開發(fā)軟件的能力;還能提高調(diào)查研究、查閱技術(shù)文獻、資料以及編寫軟件設計文檔的能力。</p><p> 課程設計內(nèi)容與實現(xiàn)的功能</p><p><b&g
5、t; 內(nèi)容</b></p><p> 利用chtmlview基類,選擇單文檔,利用C++自帶的封裝類產(chǎn)生基本的瀏覽器,然后再通過添加一些功能函數(shù)實現(xiàn)瀏覽器的功能。</p><p><b> 功能</b></p><p> 所設計的瀏覽器可以實現(xiàn)前進,后退,搜索,停止,主頁,刷新等基本功能,還可以瀏覽相應網(wǎng)址的網(wǎng)頁以及超鏈接時
6、將超鏈接的網(wǎng)址顯示在地址欄中。</p><p><b> 系統(tǒng)分析與設計</b></p><p><b> 1.系統(tǒng)分析</b></p><p><b> 1.需求分析</b></p><p> 網(wǎng)頁瀏覽器第一要能實現(xiàn)輸入網(wǎng)址后對相應網(wǎng)址的瀏覽,這是最基本的功能。第二要
7、能實現(xiàn)打開瀏覽器后自動產(chǎn)生一個主頁,主頁的地址可以自己設置。第三是可以實現(xiàn)后退到前一個網(wǎng)頁以及前進到下一個網(wǎng)頁,第四是要有相應的搜索功能使用戶在必要時實現(xiàn)進行搜索,第五可以在網(wǎng)頁有內(nèi)容更改后可以對網(wǎng)頁進行更新以顯示新的內(nèi)容,第六是可以停止網(wǎng)頁上的一切操作,包括視頻,音樂等下載,第七是當用戶對網(wǎng)頁上的網(wǎng)址進行超鏈接時可以在地址欄中顯示相應的網(wǎng)址讓用戶明白自己的位置。</p><p><b> 2.系統(tǒng)結(jié)
8、構(gòu)</b></p><p><b> ?。?)信息</b></p><p> 在瀏覽器中處理的主要信息就是當在地址欄中輸入網(wǎng)址后會按enter鍵,此時會有一個消息發(fā)送到框架類窗口,調(diào)用響應函數(shù)瀏覽網(wǎng)址。</p><p><b> ?。?)行為</b></p><p> 當輸入網(wǎng)址后按
9、下enter鍵會瀏覽相應網(wǎng)頁,可以點擊后退或是前進鍵瀏覽下一個或是后一個網(wǎng)頁,當點擊搜索鍵后會進入系統(tǒng)設置的搜索網(wǎng)頁,主頁鍵可以讓用戶回到瀏覽器的主頁,點擊停止鍵后會停止瀏覽器對網(wǎng)頁的一切操作。</p><p><b> ?。?)表示</b></p><p> 瀏覽器是屬于網(wǎng)絡類的程序,基類為chtmlview類,利用詞類MFC會自動產(chǎn)生一個瀏覽器的基本窗口,以及一
10、個地址欄。</p><p><b> 2、系統(tǒng)設計:</b></p><p><b> 2.1、模塊設計:</b></p><p> 2.2、數(shù)據(jù)結(jié)構(gòu)說明:</p><p> 此瀏覽器中對隊列以及棧等抽象數(shù)據(jù)類型沒有太多的應用,故在此不做過多敘述。</p><p>
11、 2.3、算法流程圖:</p><p> ?。?)基本功能實現(xiàn)流程圖-----------------------(2)實現(xiàn)超鏈接流程圖</p><p> 四、系統(tǒng)測試與調(diào)試分析</p><p><b> 1、系統(tǒng)測試</b></p><p> 測試方法:黑盒、白盒等</p><p> 測
12、試技術(shù):單元測試、功能測試、場景測試</p><p> 測試數(shù)據(jù):包括正確的輸入及其輸出結(jié)果和含有錯誤的輸入及其輸出結(jié)果。</p><p><b> 測試報告:</b></p><p> 1.enter鍵消息測試</p><p><b> 2.超鏈接測試</b></p><
13、;p><b> 2、調(diào)試分析:</b></p><p> 第一次運用MFC編寫上網(wǎng)類的程序還是出現(xiàn)了很多的問題。</p><p> 這個瀏覽器的編寫在剛開始建工程時會有好幾步不同于其他程序的建立,并不是每一步都用那個默認的,需要根據(jù)需要進行選擇,第一次進行編寫時忽略了這些問題導致程序無法按照想象的運行。</p><p> 在編寫程
14、序時需要對前進等基本功能設置ID號并添加相應的功能函數(shù)和代碼,第一運用這些東西沒有在正確的類中的正確位置進行添加,使得出現(xiàn)了錯誤,功能無法正確運行,經(jīng)過各種嘗試和查閱圖書后解決了問題。</p><p> 在解決超鏈接顯示網(wǎng)址的問題上出了較多的問題,第一是無法解決函數(shù)的代碼編寫及函數(shù)的位置,第二就是對網(wǎng)址的存儲有一些迷惑,經(jīng)過思考和詢問同學最后解決了此類問題。</p><p><b&
15、gt; 五、用戶手冊</b></p><p> 1.程序的系統(tǒng)運行環(huán)境具體如下:</p><p> Microsoft Visual C++ 6.0</p><p> 系統(tǒng)開發(fā)語言:C++</p><p> 運行平臺:Windows 7</p><p> 2.使用時無需安裝。</p>
16、<p> 3. 運行程序后出現(xiàn)入圖所示就可以根據(jù)用戶需要進行操作了</p><p><b> 六、程序清單</b></p><p> ?。?)在myWebView.cpp實現(xiàn)文件中,添加上述六個事件處理函數(shù)的代碼。</p><p> //前進到下一個網(wǎng)頁</p><p> void CMyWebVi
17、ew::OnFoward() { GoForward(); }</p><p><b> //退到前一個網(wǎng)頁</b></p><p> void CMyWebView::OnBack() { GoBack(); }</p><p><b> //停止網(wǎng)頁的下載</b></p><p>
18、void CMyWebView::OnStop() { Stop(); } </p><p><b> //刷新當前的網(wǎng)頁</b></p><p> void CMyWebView::OnUpdate() { Refresh(); }</p><p><b> //回到主頁</b></p><
19、p> void CMyWebView::OnHomepage() { GoHome(); }</p><p><b> //進行搜索</b></p><p> void CMyWebView::OnSearch() { GoSearch(); }</p><p> ?。?)在MainFrm.h文件中,添加消息處理函數(shù)的聲明:&l
20、t;/p><p><b> public:</b></p><p> void OnNew();</p><p> 在MainFrm.cpp文件中,添加該函數(shù)的實現(xiàn)代嗎:</p><p> void CMainFrame::OnNew()</p><p> {CString pp;&l
21、t;/p><p> //獲得用戶在地址欄中輸入的URL(網(wǎng)頁地址)</p><p> m_wndDlgBar.GetDlgItem(IDC_ADDR)->GetWindowText(pp);</p><p><b> //瀏覽指定的網(wǎng)頁</b></p><p> ((CMyWebView*)GetActiveV
22、iew())->Navigate(pp);</p><p><b> }</b></p><p> 其中m_wndDlgBar是代表地址欄文本框所在的對話框條控件的成員變量,利用它的GetDlgItem方法取得地址欄控件的ID,再利用地址欄控件的GetWindowText方法獲得用戶輸入的網(wǎng)址。另外,由GetActiveView()函數(shù)返回的是一個CView
23、類的指針,必須將它強制轉(zhuǎn)換成本應用程序視圖類的指針,才能調(diào)用Navigate()函數(shù)。 </p><p> ?。?)在MainFrm.cpp文件中,再消息映射(MESSAGE_MAP)段中添加自己的消息映射的宏。用ON_COMMAND命令建立IDOK消息和處理函數(shù)OnNew的映射關(guān)系。</p><p> BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)&l
24、t;/p><p> //{{AFX_MSG_MAP(CMainFrame)</p><p> ON_WM_CREATE()</p><p> //}}AFX_MSG_MAP</p><p> ON_COMMAND(IDOK, OnNew) //自己的消息映射宏</p><p> END_MESSAGE_M
25、AP() </p><p> ?。?)在myWebView.h文件的類定義前面添加包含語句</p><p> #include "myWebDoc.h"</p><p> ?。?)在MainFrm.h文件中,添加處理函數(shù)的聲明:</p><p><b> public:</b></p>
26、<p> void SetPage(LPCTSTR lpszURL); </p><p> 在MainFrm.cpp文件中,添加該函數(shù)的實現(xiàn)代嗎:</p><p> void CMainFrame::SetPage(LPCTSTR lpszURL)</p><p><b> {</b></p><p&g
27、t; m_wndDlgBar.GetDlgItem(IDC_ADDR)->SetWindowText(lpszURL);</p><p><b> }</b></p><p> 該函數(shù)頁使用了地址欄所在的對話框條控件對應的成員變量,將指定的URL顯示在地址欄中。 </p><p> 用類向?qū)閼贸绦虻腃MyWebView類添加O
28、nDocumentComplete()事件處理函數(shù)。并在myWebView.cpp文件中添加它的實現(xiàn)代碼</p><p> void CMyWebView::OnDocumentComplete(LPCTSTR lpszURL) </p><p><b> {</b></p><p> // TODO: Add your speciali
29、zed code here and/or call the base class</p><p> ((CMainFrame*)GetParentFrame())->SetPage(lpszURL);</p><p> //CHtmlView::OnDocumentComplete(lpszURL);</p><p><b> }</b&
30、gt;</p><p> ?。?)在MainFrm.cpp文件前面添加包含語句</p><p> #include "myWebView.h"</p><p> 在myWebView.cpp文件前面添加包含語句。</p><p> #include "MainFrm.h"</p>&
31、lt;p><b> 七、體會與自我評價</b></p><p> 為期兩個周的C++課程設計在不知不覺中結(jié)束了?;叵雱倓傞_始課設的日子,那時有些憧憬,想一展身手看看自己的水平,但是也望而卻步,因為要做的實驗竟然是用MFC來實現(xiàn)的。兩個周學會一門新的語言總是一個很大的挑戰(zhàn),當選定了瀏覽器程序的課程設計題目之后,大概了解了一下課設需要用到的MFC的工具和運行環(huán)境,然后就開始照著網(wǎng)上的教
32、程學習MFC,主要的參考教程為西安交大的網(wǎng)上教程。</p><p> 剛剛開始課程設計的時候,感覺MFC有太多系統(tǒng)默認的類、函數(shù)、變量的名字以及需要用到的數(shù)據(jù)類型和指針類型,也有很多函數(shù)是搞不清楚具體的使用的,不過經(jīng)過潛心學習,還是初步弄懂了MFC的主要功能和使用方法。在這個過程中要特別感謝同學給我的幫助和老師的指導。那時候同學都在網(wǎng)上下載MFC的教程來學習,只要有好的教程,這份教程一定會通過實驗室內(nèi)的飛鴿軟件
33、傳到我的電腦上。用了兩天半的時間對MFC進行學習之后,就轉(zhuǎn)入了對瀏覽器程序的開發(fā)和設計。</p><p> 瀏覽器的設計需要基本前進后退等功能,但最大的困難是解決在超鏈接時將用戶正在瀏覽的網(wǎng)址顯示在地址欄中,通過請教同學以及查閱資料解決了此問題,這次的課程設計對我來說收獲很大,即培養(yǎng)了自己的編程能力,也看到了老師們治學的嚴謹性,更加感覺到自己的差距,有的同學的編程能力非常強,也有的同學語言表達能力和制作的人性化
34、界面讓我欽佩。這些都讓我看到了自己的不足,我想在以后的學習過程中我會更加努力地讓自己的各方面的素養(yǎng)提升,尤其是編程的能力。在此,還是要特別感謝李蘭老師給予我的幫助和鼓勵,帶領(lǐng)我走進C++這個神秘且豐富多彩的編程世界。感謝同學在課設的過程中給予我的無私的幫助。課程設計結(jié)束了,但我卻更加清楚未來的路應該如何更好的走下去。我相信未來編程的路雖然難,但是我會用自己的堅持和信心將自己武裝好,努力地把自己的路走得豐富多彩。</p>&
35、lt;p><b> 八、參考文獻</b></p><p> 1.鄭莉.C++語言程序設計(第3版).北京:清華大學出版社,2005.7</p><p> 2.錢能.C++程序設計教程(第2版).北京:清華大學出版社,2005.8</p><p> 3. 黃維通. Visual C++面向?qū)ο笈c可視化程序設計(第2版).北京:清華大
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c++面向?qū)ο笳n程設計報告
- c++課程設計-- c++面向?qū)ο蟪绦蛟O計
- c++面向?qū)ο蟪绦蛟O計課程設計報告
- 圖片瀏覽器課程設計報告
- 圖片瀏覽器課程設計報告
- java瀏覽器課程設計--web瀏覽器開發(fā)
- 圖片瀏覽器課程設計報告.doc
- 圖片瀏覽器課程設計報告(vb)
- 網(wǎng)絡編程課程設計報告--圖片瀏覽器
- 網(wǎng)頁瀏覽器--java課程設計
- c++課程設計面向?qū)ο笳n程設計--銀行管理系統(tǒng)
- 網(wǎng)頁瀏覽器--java課程設計
- c++面向?qū)ο蟪绦蛟O計課程設計報告---學籍管理系統(tǒng)
- vb課程設計實驗報告---圖片瀏覽器
- vb課程設計實驗報告---圖片瀏覽器
- 面向?qū)ο骳++課程設計--學生信息管理系統(tǒng)
- c++課程設計報告
- c++課程設計--計算器設計報告
- c++課程設計報告--簡單計算器
- 面向?qū)ο笳n程設計報告
評論
0/150
提交評論