



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)實(shí)驗(yàn)教學(xué)大綱課程名稱:面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)(Object-oriented Programming Pratice)課程代碼:1021588006學(xué)分/總學(xué)時:3 / 48開課單位:物理與電子信息工程學(xué)院面向?qū)I(yè):計(jì)算機(jī)科學(xué)與技術(shù)一、課程的性質(zhì)、目的和任務(wù)本課程是面向?qū)ο蟪绦蛟O(shè)計(jì)A(C+)的配套課程,屬獨(dú)立設(shè)課的實(shí)踐性課程。通過本課程的學(xué)習(xí),使學(xué)生能深刻理解面向?qū)ο蟮某绦蛟O(shè)計(jì)思想,熟練運(yùn)用C+的集成開發(fā)環(huán)境設(shè)計(jì)C+應(yīng)用軟件。本課程的內(nèi)容分基本課程設(shè)計(jì)和擴(kuò)展課程設(shè)計(jì)兩塊。基本課程設(shè)計(jì)部分為必修內(nèi)容,教學(xué)目標(biāo)是讓學(xué)生對封裝、繼承、多態(tài)等程序設(shè)計(jì)思想實(shí)質(zhì)有一個深刻的領(lǐng)會,
2、對應(yīng)用軟件的設(shè)計(jì)過程和方法有一個基本的了解。擴(kuò)展設(shè)計(jì)部分為選修內(nèi)容,教學(xué)目標(biāo)是通過應(yīng)用軟件的設(shè)計(jì),全面建立面向?qū)ο蟪绦蛟O(shè)計(jì)思維,牢固掌握應(yīng)用軟件的設(shè)計(jì)思想、方法和技術(shù)。二、學(xué)習(xí)本課程學(xué)生應(yīng)掌握的前設(shè)課程知識計(jì)算機(jī)組成原理,C語言程序設(shè)計(jì)。三、項(xiàng)目及學(xué)時分配序號項(xiàng)目名稱時數(shù)項(xiàng)目類別項(xiàng)目類型要求每組人數(shù)課內(nèi)課外1基本課程設(shè)計(jì)2010專業(yè)基礎(chǔ)設(shè)計(jì)研究必做12擴(kuò)展課程設(shè)計(jì)2820專業(yè)基礎(chǔ)設(shè)計(jì)研究必做1填表說明:(1)“項(xiàng)目類別”項(xiàng)請?zhí)顚懀夯A(chǔ);專業(yè);專業(yè)基礎(chǔ);(2)“項(xiàng)目類型”項(xiàng)填寫要求:“實(shí)驗(yàn)課程”請?zhí)顚懀?#160;驗(yàn)證性; 綜合性; 設(shè)計(jì)研究;其他;“課程設(shè)計(jì)”請?zhí)顚懀?#1
3、60;驗(yàn)證性; 綜合性; 設(shè)計(jì)研究;其他;“實(shí)訓(xùn)課程”請?zhí)顚懀?#160;基本實(shí)訓(xùn); 綜合實(shí)訓(xùn); 設(shè)計(jì)開發(fā);(3)“要求”項(xiàng)請?zhí)顚懀罕刈?;選做;四、教學(xué)方法根據(jù)理論課程的算法、方法學(xué)和語法知識,在指定的集成開發(fā)環(huán)境上完成實(shí)課程設(shè)計(jì)要求的軟件開發(fā)。如果學(xué)生遇到問題,教師給予指導(dǎo)。實(shí)驗(yàn)課程中間穿插幾次操作抽查和運(yùn)行效果抽查,并及時反饋給學(xué)生。對學(xué)生課程設(shè)計(jì)普遍存在的問題,給予統(tǒng)一的講解。對課程設(shè)計(jì)中需要用到的基本技能,通過實(shí)驗(yàn)教程加以簡單講解的方式,布置給學(xué)生自由安排時間進(jìn)行,并抽查訓(xùn)練效果。五、教學(xué)內(nèi)容及要求實(shí)驗(yàn)一 基本課程設(shè)計(jì)教學(xué)目的:1、(IDE層)熟
4、練掌握Windows會話界面和對話框的設(shè)計(jì);運(yùn)用類向?qū)гO(shè)計(jì)類;運(yùn)用調(diào)試跟蹤器調(diào)試代碼。2、(語法層)綜合運(yùn)用C/C+的純虛函數(shù)、抽象類、多態(tài)、靜態(tài)成員、動態(tài)內(nèi)存分配等語法知識編寫C+代碼。3、(方法學(xué)層)運(yùn)用類的封裝、派生和多態(tài)等面向?qū)ο蟮某绦蛟O(shè)計(jì)思想進(jìn)行應(yīng)用系統(tǒng)的設(shè)計(jì)。4、(算法層)了解有關(guān)指針數(shù)組的算法。教學(xué)要求:1、開發(fā)一個基于對話框的Windows應(yīng)用程序,進(jìn)行大學(xué)人的建立、名單顯示和卡片輸出。2、大學(xué)人的類型有教師、學(xué)生、行政人員和工人。3、卡片的輸入用模式對話框,卡片的輸出用非模式對話框。高級要求:1、卡片的刪除。2、卡片的修改。3、卡片的文件保存與打開。教學(xué)時數(shù):20主要設(shè)備:1
5、、微機(jī)一臺2、Visual C+集成開發(fā)環(huán)境實(shí)驗(yàn)內(nèi)容:1、建立一個基于對話框的應(yīng)用程序。1.1 創(chuàng)建一個Project,類型為“MFC AppWizard (exe)”,Location選E盤,Project name取名PolyUniversity。1.2 應(yīng)用程序框架類型選“Dialog based”,即創(chuàng)建一個基于對話框的應(yīng)用程序。1.3 打開Workspace的資源(Resource)頁,選對話框IDD_POLYUNIVERSITY_DIALOG,右擊,選Properties,將標(biāo)題改成學(xué)號和姓名。2、通過控件面板,設(shè)計(jì)界面,有輸入按鈕、列表框顯示名單按鈕、總?cè)藬?shù)文本框、卡片顯示按鈕。
6、3、設(shè)計(jì)一個大學(xué)人類University及其派生類Teacher,Administrator,Student和Worker。University是抽象類。University類有靜態(tài)數(shù)據(jù)成員count,用于對象的計(jì)數(shù)。3.1 通過ClassView向?qū)У摹癗ew class”創(chuàng)建University類。3.2 給University類添加如下數(shù)據(jù)成員.3.3 添加University類的構(gòu)造函數(shù)、拷貝構(gòu)造函數(shù)和析構(gòu)函數(shù),實(shí)現(xiàn)時都要對m_nCount進(jìn)行適當(dāng)?shù)?或運(yùn)算,以保證對象的正確計(jì)數(shù)。3.4 添加University類的靜態(tài)成員函數(shù)和純虛函數(shù).3.5 由University類派生出Teac
7、her、Administrator、Student和Worker四個派生類。3.6 Teacher、Administrator、Student和Worker四個派生類都新增適當(dāng)?shù)臄?shù)據(jù)成員。3.7 Teacher、Administrator、Student和Worker四個派生類都新增構(gòu)造函數(shù)、重載的虛函數(shù)CString Print() const函數(shù)。4、在對話框類的聲明文件PolyUniversityDlg.h中創(chuàng)建私有的數(shù)據(jù)成員:University指針數(shù)組和總?cè)藬?shù)。5、在對話框類的構(gòu)造函數(shù)中創(chuàng)建三個大學(xué)人對象:一個Student,兩個Worker。6、通過ClassWizard給控件ID
8、C_LIST_UNIVERSITY添加Control型數(shù)據(jù)成員m_listUniversity,給控件IDC_STATIC_COUNT添加Control型數(shù)據(jù)成員m_staticCount。7、實(shí)現(xiàn)輸入按鈕,增加一個大學(xué)人。以教師類為例,步驟如下。7.1 創(chuàng)建輸入教師的對話框IDD_ADDTEACHER,標(biāo)題為“添加教師”,類名為CDlgAddTeacher。添加靜態(tài)文本框“姓名”、“年齡”、“職稱”和編輯框IDC_EDIT_NAME, IDC_EDIT_AGE, IDC_EDIT_FELLOWSHIP。7.2 添加Value型的數(shù)據(jù)成員m_strName, m_nAge, m_strFell
9、owship,用于對話框數(shù)據(jù)交換。7.3 實(shí)現(xiàn)OnOK()代碼,保存教師數(shù)據(jù)。即在CDialog:OnOK()前面加UpdateData函數(shù):7.4 在主對話框PolyUniversityDlg中創(chuàng)建“添加教師”的單擊消息響應(yīng)函數(shù)OnButtonAddteacher()。8、創(chuàng)建對話框資源IDD_CARD,用于顯示大學(xué)人卡片。8.1 打開Workspace的ResourceView頁,右擊Dialog,選“Insert Dialog”。8.2 右擊對話框,選“Properties”,將ID改為IDD_CARD,標(biāo)題為“大學(xué)人卡片”。8.3 刪掉“OK”和“Cancel”兩個按鈕,加靜態(tài)文本框控
10、件IDC_STATIC_CARDCONTENT。將靜態(tài)文本框控件尺寸改成最大,占滿整個對話框。9、實(shí)現(xiàn)“顯示卡片”功能,用非模式對話框輸出所有大學(xué)人卡片。9.1 在主對話框類的聲明文件UniversityDlg.h中創(chuàng)建對話框的指針或數(shù)組。9.2 在主對話框類的“輸出卡片”的消息響應(yīng)函數(shù)中建立非模式對話框并顯示卡片內(nèi)容。10、實(shí)現(xiàn)“關(guān)閉卡片”功能,關(guān)閉并刪除所有非模式對話框。實(shí)驗(yàn)2 擴(kuò)展課程設(shè)計(jì)教學(xué)目的:1、(IDE層)熟練掌握Windows會話界面和對話框的設(shè)計(jì);運(yùn)用類向?qū)гO(shè)計(jì)類;運(yùn)用調(diào)試跟蹤器調(diào)試代碼。2、(語法層)綜合運(yùn)用C/C+的純虛函數(shù)、抽象類、常數(shù)據(jù)成員、動態(tài)內(nèi)存分配等語法知識編寫
11、C+代碼。3、(方法學(xué)層)運(yùn)用類的封裝、派生等面向?qū)ο蟮某绦蛟O(shè)計(jì)思想進(jìn)行應(yīng)用系統(tǒng)的設(shè)計(jì)。4、(算法層)對象狀態(tài)的維護(hù)算法。教學(xué)要求:1、開發(fā)一個單文檔/視圖的Windows應(yīng)用程序,開始狀態(tài)為一個極大化的窗口。2、具有動畫游戲功能,將最大化窗口分成若干個小塊,一開始“貪吃蟲”位于中心位置,靜止不動。按下任意一個箭頭鍵后開始朝指定方向爬動,繼續(xù)按箭頭鍵可以改變爬動方向。高級要求:1、運(yùn)動速度可變。2、碰避時游戲停止,自咬時游戲停止。3、隨機(jī)出現(xiàn)食物,蟲子吃進(jìn)一個食物時變長。4、游戲可保存、可繼續(xù)。5、能計(jì)分。教學(xué)時數(shù):28主要設(shè)備:1、微機(jī)一臺2、Visual C+集成開發(fā)環(huán)境實(shí)驗(yàn)內(nèi)容:1、建立
12、一個單文檔/視圖的的應(yīng)用程序。1.1 創(chuàng)建一個Project,類型為“MFC AppWizard (exe)”,Location選E盤,Project name取名GreedyWorm。1.2 應(yīng)用程序類型選“Single document”。再點(diǎn)擊Finish完成創(chuàng)建。2 界面參數(shù)設(shè)置。2.1 打開視圖類的GreedyWormView.h頭文件,以保護(hù)成員添加一個表示小格子尺寸的常數(shù)據(jù)成員。2.2 再在GreedyWormView.h頭文件,以保護(hù)成員添加必要的界面相關(guān)數(shù)據(jù)。2.3 再在GreedyWormView.h頭文件,以保護(hù)成員添加一個表示游戲是否啟動的標(biāo)志。2.4 在GreedyW
13、ormView的構(gòu)造函數(shù)中初始化上述數(shù)據(jù)。3 界面初始圖。3.1 打開應(yīng)用程序類的GreedyWorm.cpp源文件,將CGreedyWormApp:InitInstance()中的代碼修改為m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED)。3.2 打開視圖類的OnDraw函數(shù),計(jì)算總塊數(shù)和初始塊位置。3.3 定義畫筆、畫刷等。3.4 進(jìn)行初始畫圖。3.5 最后在OnDraw中形成執(zhí)行代碼(必須在m_bStart為假時執(zhí)行這些代碼)。4 鍵盤控制與動畫。4.1 給視圖類定義定時器消息WM_TIMER的消息響應(yīng)函數(shù)OnTimer()。4.2 再點(diǎn)“Edit
14、Code”,編輯OnTimer()的實(shí)現(xiàn)代碼,使程序每過一定的時間間隔,清除原位置的塊,按當(dāng)前方向移動一個位置,再在新位置重畫一個塊,從而產(chǎn)生動畫效果。4.3 通過ClassWizard給視圖類添加鍵盤消息的消息響應(yīng)函數(shù)OnKeyDown(),捕獲當(dāng)前按下的方向鍵。5 功能完善。5.1 按箭頭后,蟲子開始爬動,但發(fā)現(xiàn)留有痕跡,通過在OnTimer()函數(shù)中添加代碼清楚痕跡。5.2 其它功能的完善(如碰壁檢測、自咬檢測、食物出現(xiàn)、吃食變長、變快)。六、主要教材(指導(dǎo)書)及參考用書1、教材:C+實(shí)驗(yàn)教程,胡明曉(自編教材)。2、參考書目:1C+語言程序設(shè)計(jì)(第4版),鄭莉、董淵、何江舟編著,北京:清華大學(xué)出版社,20102Visual C+簡明教程,鄧力編著,北京:海洋出版
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 滑板公園行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 電子競技俱樂部企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力項(xiàng)目商業(yè)計(jì)劃書
- 官方合作伙伴招募行業(yè)深度調(diào)研及發(fā)展項(xiàng)目商業(yè)計(jì)劃書
- 沙漠生態(tài)旅游環(huán)保設(shè)施行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 智能溫控冷鏈物流泡沫箱企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力項(xiàng)目商業(yè)計(jì)劃書
- 高速公路項(xiàng)目可行性研究報告
- 城區(qū)集中供熱項(xiàng)目可行性研究報告
- 膀胱結(jié)石考試試題及答案
- 中學(xué)班主任工作室計(jì)劃-心理健康輔導(dǎo)
- 幼兒園中班秋季自然探索活動計(jì)劃
- 2025年基金與投資管理考試試卷及答案
- 書畫培訓(xùn)合作合同范本
- 2025年河北省中考乾坤押題卷物理試卷B及答案
- Starlink低軌衛(wèi)星通信星座深度分析
- 江蘇省無錫市2023年中考物理試題(含答案)
- 2023年廣東初中學(xué)業(yè)水平考試生物試卷真題(含答案)
- GB/T 7759.2-2014硫化橡膠或熱塑性橡膠壓縮永久變形的測定第2部分:在低溫條件下
- 2023年中原農(nóng)業(yè)保險股份有限公司招聘筆試題庫及答案解析
- GB/T 24782-2009持久性、生物累積性和毒性物質(zhì)及高持久性和高生物累積性物質(zhì)的判定方法
- 微創(chuàng)冠狀動脈搭橋手術(shù)方法及圍術(shù)期處理原則微創(chuàng)冠脈搭橋進(jìn)展課件
- 住院患者出院后的隨訪與指導(dǎo)流程圖
評論
0/150
提交評論