歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOCX文檔下載  

《程序設(shè)計課程設(shè)計》

  • 資源ID:117928389       資源大?。?span id="fu5hsqn" class="font-tahoma">110.35KB        全文頁數(shù):13頁
  • 資源格式: DOCX        下載積分:15積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

《程序設(shè)計課程設(shè)計》

課程名稱:課程設(shè)計題目:姓 名:系:專 業(yè):年 級:學(xué) 號:指導(dǎo)教師:職 稱:計算機系計算機科學(xué)與技術(shù)課程設(shè)計報告程序設(shè)計課程設(shè)計類似于“記事本”的文本編輯器2011年 11月 7日1設(shè)計目的32設(shè)計題目及要求33設(shè)計算法分析33.1模塊調(diào)用層次圖33. 2核心算法描述63.3系統(tǒng)特點64程序代碼65調(diào)試情況116結(jié)論11參考文獻 12類似于“記事本”的文本編輯器1. 設(shè)計目的本課程設(shè)計的目的就是要通過一次集中的強化訓(xùn)練,使學(xué)生能及時鞏固己學(xué)的知識,補 充未學(xué)的但又必要的內(nèi)容。進行課程設(shè)計目的在于加深對程序設(shè)計基礎(chǔ)中基礎(chǔ)理論和基本知 識的理解,促進理論與實踐的結(jié)合,進一步提高程序設(shè)計的能力。具體目的如下:1. 使學(xué)生更深入地理解和掌握該課程中的有關(guān)基本概念,程序設(shè)計思想和方法。2. 培養(yǎng)學(xué)生綜合運用所學(xué)知識獨立完成課題的能力。3. 培養(yǎng)學(xué)生勇于探索、嚴(yán)謹(jǐn)推理、實事求是、有錯必改,用實踐來檢驗理論,全方位 考慮問題等科學(xué)技術(shù)人員應(yīng)具有的素質(zhì)。4. 提高學(xué)生對工作認(rèn)真負(fù)責(zé)、一絲不茍,對同學(xué)團結(jié)友愛,協(xié)作攻關(guān)的基本素質(zhì)。5. 培養(yǎng)學(xué)生從資料文獻、科學(xué)實驗中獲得知識的能力,提高學(xué)生從別人經(jīng)驗中找到解 決問題的新途徑的悟性,初步培養(yǎng)工程意識和創(chuàng)新能力。6. 對學(xué)生掌握知識的深度、運用理論去處理問題的能力、實驗?zāi)芰?、課程設(shè)計能力、 書面及1頭表達能力進行考核。2. 設(shè)計題目及要求1 類似于“記事本”的文本編輯器設(shè)計一個文本編輯器,具有對文本等進行讀寫等基本操作,類似于Wmdows中的 記事本。2 要求實現(xiàn)如下功能:(1) 能夠?qū)崿F(xiàn)基本的文本文件讀取、保存、設(shè)置字體等功能。(2) 具有菜單、工具欄和狀態(tài)欄。(3) 實現(xiàn)其它相關(guān)功能(如字體、剪貼板的操作,查找、打印預(yù)覽等功能)(4) 實現(xiàn)多文檔界面3. 設(shè)計算法分析3. 1模塊調(diào)用層次圖1變量描述定義形式/名稱含義/作用結(jié)構(gòu)體CHOOSECOLORCHOOSEFONT一個是VC類庫給出 的設(shè)置顏色的結(jié)構(gòu) 體,另一個是VC類 庫給出的設(shè)置字體的 結(jié)構(gòu)體全局變量CNotepadApp tlieApp用tlieApp這個全局變 量來獲取當(dāng)前應(yīng)用程 序?qū)嵗木浔鷏iliistance文件頭文件:ChildFimh MauiFrm.h notepad.h notepadDoc.h notepadView.h resource.! StdAfx.h源文件:ChildFrm.cppMainFniLcpp notepad, cpp notepadDoc.cpp notepadView.cpp StdAfx.cpp定義了從 CMDICluldWnd 派 生的文檔框架窗口對 象 CTChildFrame 定義了從 CMDIFrameWnd 派生的框架窗口對象CMainFrame定義了從 CDocument 派生的文檔對象 CTDoc定義了從CView派 生的視圖對象 CTView標(biāo)準(zhǔn)AFX頭文件函數(shù)void CNotepadView: :OnColor()void CNotepadView: :OiiFontQ用來改變字體顏色用來改變字體大小和格式2系統(tǒng)模塊調(diào)用層次圖基于而向?qū)ο蟮脑O(shè)計,沒有模塊調(diào)用層次圖。程序的實現(xiàn)過程如卜:設(shè)計窗11類I注冊窗11類I創(chuàng)建窗11顯小窗I I更新窗11消息循環(huán)窗11處理函數(shù)首先由全局變量theApp,鏈接到VC類庫中的_tWuiMam()函數(shù),找到這個windows框架結(jié)構(gòu)的入II函數(shù)后,再依次以上圖示意調(diào)用各個類,最后產(chǎn)生文本編輯器這個框架程序。構(gòu)成應(yīng)用程序的對象之間的關(guān)系:3. 2核心算法描述主邊框窗I I對象CMDIFrameWnd工具條對象CToorBar文檔邊框窗II對象CMDIChildFrame視對象CView狀態(tài)欄對象CStatusB3.3系統(tǒng)特點1 特點:一個多文檔的界面的類似于“記事本”的文本編輯器。該編輯器與記事本相比多了改變字體大小、顏色、自體類型的功能,還增加了 查找,替換,顯示圖片,顯示時間等功能。2 分工:本程序的編寫完全由我個人完成,未和任何人分組。4. 程序代碼1程序代碼void CNoteView:OnFont()/ TODO: Add youi conmiand handler code hereCFontDialog dig;if(IDOK=dlg.DoModal()memcpy(&lf,dlg.m_cf.lpLogFont,sizeof(LOGFONT);if(m_fbnt.m_hObject)m_font.DeleteObject();m_fbnt.CreateFontIiiduect(&lf);Invalidate。;Update Wiiidow();void CT<oteView:OnChar(UINT nChai; UINT iiRepCnt, UINT iiFlags) / TODO: Add youi message handler code here and/or call defaultCClientDC dc(this);dc.SelectObject(&this->m_font);TEXTMETRIC tm;dc.GetTextMetncs(&tm);if(0x0d=nChar)fm_stiLme .Empty。;nvptOrigm.y+tm.tniHeight;else if(0x08=nChai)fCOLORREF ch=dc.SetTextColoi(dc.GetBkColorQ);dc.TextOut(m_ptOrigm.xjik_ptOrigm.y,m_strLine);m_stiLme=m_stiLiiie.Left(m_strLine.GetLength()-1);dc.SetTextColor(clr);elsefm_stiLme+=nChar;C Size sz=dc. GetTextExtent(m_strLme);CPoint pt;pt.x=m_ptOrigin.x+sz.cx;pt.y=m_ptOngin.y;SetCaietPos(pt);dc.TextOut(m_ptOiigm.X4ii_ptOrigm.y,m_stiLine);CView: OnChai (nChan iiRepCnt, iiFlags);void CoteView:OnLButtoiiDown(UINT iiFlags, CPoint point)/ TODO: Add youi message handler code here and/or call defaultSetCaietPos(point);m_strLiiie .Empty ();m_ptOrigiii=point;C View: OiiLButtoiiDown(iiFlags, point);hit CNoteView:OnCreate(LPCREATESTRUCT IpCreateStiuct)if (CView:OnCreate(lpCreateStmct) = -1)return -1;/ TODO: Add your specialized creation code hereCClientDC dc(this);TEXTMETRIC tm;dc.GetTextMetncs(&tm);CieateSolidCaret(tm.tniAveChaiWidtlv8jm.tniHeight);ShowCaietQ;return 0;用CView生成的記事本的編寫void CNoteView:OnFont()/ TODO: Add youi conmiand handler code hereCHARFORMAT m_charFormat;GetCharForniatSelection();CFontDialog dlg(m_charfdrmat,CF_BOTH|CF_NOOEMFONTS);if(dlg.DoModal0=IDOK)dlg.GetChaiFormat(m_chai-format);SetCharForniat(m_chaifdnnat);在CricKEditView類中用CfontDialog實現(xiàn)字體的變更static UINT indicators=ID_SEPARATOR,/ status line indicatorID_INDICATOR_CLOCK/為狀態(tài)欄增加一個窗格ID INDICATOR CAPS,ID INDICATOR NUM.ID_INDICATOR_SCRL,;void CMainFrame: :OnTuner(UINT iiIDEvent)/ TODO: Add your message handler code here and/or call defaultCTime time;tmie=CTmie: GetCunentTime();/ 獲得系統(tǒng)時間CStrmg s=tiine.Format(M%H: %M”);m_wndStatusBai-.SetPaneText(m_wndStatusBar.ConmiandToIiidex(ED_INDICArOR_CLOCK),s);更新時間窗格顯示的時間CMDIFiameWnd: OnTmiei (iiIDEvent);void CMainFrame: :OnClose()/ TODO: Add your message handler code here and/or call defaultCMDIFiameWnd :OnClose();mt CMaiiiFiame:OnCieate(LPCREATESTRUCT IpCreateStmct)SetTiiner( 1,1000.NULL);retuin 0;在 CMamFrame:OnCreate 中添加2程序執(zhí)行結(jié)果:我用上面的5?映實可以實現(xiàn)2)中的功能,但是上面【,以及2)的作用怎么在上面的程序中體現(xiàn)出來的?在MFC中建立基于對話框的程序,在上面加了rich edit和BUTTC 1Notepal字體字體但):字形也):大?。⊿):仿宋 _GB2312云宋珀體書 彩仿琥楮隸 體文文文文文 黑華華華華華 %0000粗體 粗斜體常規(guī)確定取消效果示例刪除跋催)下劃線(U)顏色(£):微軟中文羽字符集(£):CHINESE_GB2312(3結(jié)果的討論結(jié)果不是很讓人滿意,因為始終不能實現(xiàn)根據(jù)用戶的選擇更改字體的愿望,不過能實現(xiàn)基本 的字的輸入、刪除、空格等操作。5. 調(diào)試情況在調(diào)試過程中出現(xiàn)的一些問題:VC提供的類庫函數(shù)對大小寫的要求是十分嚴(yán)格的,所以很容易出現(xiàn)錯誤, 根據(jù)編譯時提供的錯誤信息進行修正還是很有幫助的。成員變量要定義在頭文件中,否則在程序還沒有生成的時候這個變量會在 程序還沒有生成之前就被析構(gòu)了,就不能得到我們預(yù)期的效果了。View類始終是覆蓋在框架類之上的,所以我們要捕獲鼠標(biāo)左鍵點擊的操 作時要在View中進行,如果在框架類中進行編程,就會造成不必要的麻煩, 添加編程的麻煩。6. 結(jié)論這個文本編輯器的代碼編寫還是相對較簡單的,用VC6.0的MFC開發(fā)工具,直接就可 以生成一個基于wmdows的框架類程序,不用編寫很煩雜的框架程序調(diào)用函數(shù),只需了解 MFC這個編程工具,學(xué)會查詢MSDN調(diào)用微軟提供的類庫及各種接II,就會使編寫這個記 事本程序簡單很多。但是第一次接觸MFC,并且MFC龐大的庫函數(shù)也并不不易理解,在編 程過程中也耗費了大量的時間,主要是去學(xué)習(xí)windows框架程序的內(nèi)部調(diào)用機制,以及VC 封裝的各種庫函數(shù)的點用方法。我用的是C+這個高級程序語言開發(fā)工具,通過這次的課程設(shè)計,增加了對MFC編程 環(huán)境的認(rèn)識,也加深了對C+語言的認(rèn)識了解,基本能明白windows框架程序內(nèi)部生成的一 個過程以及其內(nèi)部調(diào)用的機制,一定程度上也深一步地認(rèn)意識到面向?qū)ο蟮乃枷搿⒖嘉墨I1. C+實用教程丁有和編著電子工業(yè)出版社2009年2. C+語言程序設(shè)計(第3版)鄭莉董淵張瑞豐編著清華大學(xué)出版社2009年3. 數(shù)據(jù)結(jié)構(gòu)(C語言版)嚴(yán)蔚敏吳偉民編著清華大學(xué)出版社2010年4. 軟件工程導(dǎo)論(第5版)張海藩 編著清華大學(xué)出版社2011年5. MFC深入淺出李久進 編著1999年

注意事項

本文(《程序設(shè)計課程設(shè)計》)為本站會員(d****)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!