版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、面向?qū)ο蟪绦蛟O(shè)計實驗指導(dǎo)書(適用:計算機15級)彭召意 編寫計算機與通信學(xué)院2016.41實驗七 STL的應(yīng)用(實驗課時:2 實驗性質(zhì):設(shè)計)實驗名稱: STL的應(yīng)用實驗?zāi)康? (1)了解STL的概念和使用方法;(2)熟悉幾種常用容器的使用方法;(3)熟悉迭代器和算法的使用;實驗設(shè)備: (1)硬件:個人微機(基本配置:CPU為Intel 酷睿I3或AMD 速龍以上,主頻3.2GHz,內(nèi)存4GB,硬盤500GB);(2)軟件:操作系統(tǒng)為Windows7,工具軟件為Visual C+6.0或者QT5.4。實驗內(nèi)容: 事先編好程序,上機調(diào)試和運行程序,分析結(jié)果。(1)編程:編寫一個學(xué)生類Studen
2、t。要求: 學(xué)生的公有屬性有:學(xué)號(Num),姓名(Name),性別(Sex);學(xué)生的公用成員函數(shù)有:Display( )用于輸出Num、Name、Sex。寫一個拷貝構(gòu)造函數(shù)和一個帶默認參數(shù)的構(gòu)造函數(shù)。(2)重載運算符=和!=為Student的成員函數(shù)。(3)在主程序中,定義list容器,數(shù)據(jù)類型為Student類對象。在該容器中,添加10個對象,這些對象的學(xué)號從1到10,姓名為Name1到Name10,學(xué)號奇數(shù)的性別為F,偶數(shù)的為M。(4)定義該容器的迭代器,用Display順序輸出該10位同學(xué)的信息。(5)隨機輸入一個學(xué)號,使用算法find在該容器中查找該學(xué)號的同學(xué)信息。實驗要求: (1)
3、進一步理解和掌握C+的運算符重載和構(gòu)造函數(shù)的使用方法;(2)熟悉和理解STL的容器、迭代器和算法的使用方法;(3)程序格式規(guī)范,程序運行正確;(4)認真書寫實驗報告,如實填寫各項實驗內(nèi)容。實驗步驟: (1)啟動Visual C+6.0開發(fā)環(huán)境;(2)創(chuàng)建一個項目;(3)建立C+源程序文件;(4)編輯C+源程序文件內(nèi)容;(5)建立并運行可執(zhí)行程序,并分析結(jié)果;(6)關(guān)閉工作空間。實驗八 VC+6.0基于WINDOWS平臺的程序設(shè)計(實驗課時:2 實驗性質(zhì):設(shè)計)實驗名稱: VC+6.0基于WINDOWS平臺的程序設(shè)計實驗?zāi)康? (1)熟悉Visual c+基于WINDOWS平臺程序設(shè)計(單文檔和
4、多文擋機制);(2)熟悉消息響應(yīng)函數(shù)的創(chuàng)建和使用;(3)熟悉程序界面中的菜單和工具欄的使用;(4)熟悉文檔/視圖結(jié)構(gòu)的視圖重繪和輸出。實驗設(shè)備: (1)硬件:個人微機(基本配置:CPU為Intel 酷睿I3或AMD 速龍以上,主頻3.2GHz,內(nèi)存4GB,硬盤500GB);(2)軟件:操作系統(tǒng)為Windows7,工具軟件為Visual C+6.0。實驗內(nèi)容: (1)編程:用Visual c+設(shè)計出不用編寫一行代碼的基于多文擋文本編輯器程序,并簡單測試文本文件的編輯、讀取、存取等功能;(2)編程:用Visual c+設(shè)計出基于單文擋/視圖結(jié)構(gòu)的程序,并修改程序中的菜單(名稱自定);(3)添加一個
5、菜單消息響應(yīng)函數(shù),功能為:顯示一對話框“Click Me.”;(4)在另一菜單中添加菜單消息響應(yīng)函數(shù),功能為:彈出一個自定義的對話框,對話框上的功能自定(可以很簡單的只放上基本的控件);(5)在工具欄上添加3個簡單的工具,功能分別為:(a)在視圖的位置(10,15)處輸出一行文字“這是簡單的輸出文本示例?!?;(b)在在視圖的位置(80,120)處畫一個矩形(其大小為(50,50);(c)擦除剛畫的矩形框。并編寫該功能的代碼。(6)添加鼠標消息函數(shù):鼠標右鍵單擊,功能為在當(dāng)前位置顯示一行文本“Click Me”;然后添加鼠標移動消息,功能為顯示一個字符M。測試這些功能的效果,并且自己根據(jù)興趣再進
6、行修改。實驗要求: (1)熟悉Visual c+框架有關(guān)的文擋,視圖等概念;(2)學(xué)會如何在Visual c+中建立簡單的工程及添加消息響應(yīng)函數(shù)的方法。;(3)熟悉視圖的輸出;(4)程序格式規(guī)范,程序運行正確;(5)認真書寫實驗報告,如實填寫各項實驗內(nèi)容。實驗步驟: (1)啟動Visual C+6.0開發(fā)環(huán)境;(2)創(chuàng)建項目:選擇File|New命令,在New對話框中生成一個自己命名的項目T71。在MFC AppWizard Step1對話框中選中多文檔按鈕,并要確認Document/View architecture support復(fù)選框被選中。如果不選中它,則MFC AppWizard就不
7、會自動為文擋/視圖結(jié)構(gòu)生成代碼了。在MFC AppWizard Step1對話框中單擊Next按鈕,進入Step2對話框。這個對話框詢問是否要加入對數(shù)據(jù)庫訪問的支持,不需要支持數(shù)據(jù)庫,選中None單選按鈕。在MFC AppWizard Step2對話框中單擊Next按鈕,選默認選項。在MFC AppWizard Step3對話框中單擊Next按鈕,選默認選項。在MFC AppWizard Step4對話框中單擊Next按鈕,選默認選項。在MFC AppWizard Step5對話框中單擊Next按鈕,在Base class下拉列表中選擇CEditView選項,代表以CEditView作為CT7
8、1View的父類,而不是通常的CView。這樣就能得到一個具有文本編輯功能的視圖類C T71View了。單擊MFC AppWizard Step6對話框中的Finish按鈕,這時Visual c+將顯示一個對話框提示程序員即將生成的程序框架的信息,在這個對話框中單擊OK按鈕。這樣就生成了一個具有文本編輯功能的應(yīng)用程序,編輯運行T71項目,然后進行測試。(3)另建一個單文檔界面項目T72,并添加菜單: 按照前面生成T71項目的方法生成T72項目(最后視圖類不要改動)在T72項目的菜單資源中,添加菜單資源:“其他功能”|“菜單演示”,菜單ID重命名:ID_Test。選擇Visual C+的View
9、|classWizard命令,在MFC ClassWizard對話框中單擊Message Maps標簽。在Message Maps選項卡中的class name下拉列表中選擇CMainFrame類,然后在object IDS列表中選擇ID_Test控件。雙擊Message列表中的COMMAND消息,MFC ClassWizard將在CMainFrame類中自動添加一個成員函數(shù):OnTest,用于響應(yīng)這個消息。編輯CMainFrame類的OnTest函數(shù),添加如下代碼:MessageBox(“這是一個命令的演示程序?!?;或MessageBox( “Click Me.”)。編譯運行T72項目,選
10、擇“其他功能”|“菜單演示”命令,程序就會顯示一個消息對話框。 (8)添加一個對話框資源,再增加一個基于此對話框的類,然后在另一菜單中添加菜單消息響應(yīng)函數(shù),功能為:彈出一個自定義的對話框(該對話框就是剛才新建的對話框)。(9)添加工具欄上的按鈕,然后添加相應(yīng)代碼。提示:輸出文本的成員函數(shù)為pDC->TextOut(10,15," 這是簡單的輸出文本示例。");畫矩形的成員函數(shù)可以寫為pDC->Rectangle(80,120,80+50,120+50);/在視圖的OnDraw函數(shù)中重繪視圖窗口的函數(shù)為:Invalidate( );(重繪整個視圖) 或Invali
11、dateRect(CRect,TRUE); (重繪視圖的一個矩形區(qū))并且可以設(shè)置一個標識變量,記住是畫矩形還是擦除矩形。(10)添加鼠標消息:在主菜單中,選擇“View|ClassWizard”,在彈出的對話中,選擇“Message Maps”,選擇好:project,Class name,Object IDs,Messages等信息,如圖1所示。圖1 類向?qū)缓?,點擊Add Function按鈕,增加一個鼠標消息響應(yīng)函數(shù),再點擊Edit Code按鈕,增加如下代碼即可。CClientDC dc(this);dc.TextOut(point.x,point.y,"Click Me&q
12、uot;);采用以上同樣的方法,增加鼠標移動的消息以及響應(yīng)函數(shù)。(11)全部完成后,關(guān)閉工作空間。附錄:(1)注意知識點:Windows將應(yīng)用程序分為單文檔程序和多文檔程序。單文檔界面程序是指整個應(yīng)用程序中在一個時間內(nèi)只能打開一個文檔,顯示在一個視圖中;而多文檔界面程序則可同時打開多個文檔,在不同的視圖中獨立編輯,不受干擾。視圖,也就是窗口的客戶區(qū),用于顯示用戶正在編輯的文檔,是用戶的工作區(qū),在MFC中對Cview類及其派生類。文檔,代表用戶正在視圖上編輯的文件,負責(zé)文件的讀寫,在MFC中對應(yīng)Cdocument類及其派生類(2)相關(guān)知識點:菜單是一種資源,它由多個命令組成,每個命令都有一個ID
13、值,這個ID值用于在程序中識別不同的命令,當(dāng)某個命令被選擇時,會發(fā)出WM_COMMAND消息,可以通過使用MFC ClassWizard將這個消息以及發(fā)出這個消息的命令映射到某一個類的成員函數(shù)上。菜單本身有一個ID值,用于同其他資源相區(qū)別。對話框也是一種資源。使用MFC類庫進行編程時,可使用CDialog類來派生出用于處理對話框功能的類,對于任何一個由程序員自定義的對話框,都需要為該對話框單獨設(shè)計一個類,這個類從CDialog類繼承。每個CDialog類(及其派生類)都必須同一個對話框資源相聯(lián)系。在菜單中添加一個菜單命令:“其他功能” |“菜單演示”打開菜單資源編輯窗口,雙擊菜單欄上最右邊的“
14、幫助”菜單右邊的虛框,然后在Menu Item properties對話框中的Caption文本框中輸入“其他功能(&M)”, “(&M)”代表這個命令的快捷鍵為Alt+M。選中pop-up,在子菜單中添加一個命令“菜單演示”,再重命名ID號。實驗八(續(xù)) VC+6.0基于對話框的程序設(shè)計(實驗課時:2 實驗性質(zhì):設(shè)計)實驗名稱: VC+6.0基于對話框的程序設(shè)計實驗?zāi)康? (1)學(xué)會Visual C+的基于對話框的程序設(shè)計;(2)熟悉MFC類庫;(3)熟悉基本控件(按鈕控件、編輯框、組合框、滾動條等)的使用。實驗設(shè)備: (1)硬件:個人微機(基本配置:CPU為Intel 酷睿
15、I3或AMD 速龍以上,主頻3.2GHz,內(nèi)存4GB,硬盤500GB);(2)軟件:操作系統(tǒng)為Windows7,工具軟件為Visual C+6.0。實驗內(nèi)容: (1)編程:編寫一個基于對話框的MFC應(yīng)用程序,要求能夠接收用戶從鍵盤上輸入的兩個正整數(shù),并求出它們之和顯示在對話框中(使用編輯框和文本框)。(2)在對話框上添加一個菜單(菜單功能自定);(3)在對話框上添加常用的控件(比如:命令按鈕、組合框、滾動條、復(fù)選框、單選框等);(4)設(shè)置這些控件的基本屬性;(5)練習(xí)這些控件的基本成員函數(shù)的使用,比如:命令按鈕: 顯示一個提示框“執(zhí)行了*命令”;組合框:選擇了組合框中的某個值;復(fù)選框、單選框:
16、提示選擇了某些(某個)框;滾動條:設(shè)置滾動條的變化范圍、滑動位置,清除選擇范圍等。實驗要求: (1)掌握基于對話框的程序設(shè)計;(2)熟悉常用控件的使用;(3)程序格式規(guī)范,程序運行正確;(4)認真書寫實驗報告,如實填寫各項實驗內(nèi)容。實驗步驟: (1)啟動Visual C+6.0開發(fā)環(huán)境;(2)使用AppWizard為程序生成框架,按照提示一步一步的生成。其中值得注意的是必須選中的有“Dialog Based”單選框。項目名稱T81。(3)添加控件:默認的T81主對話框窗口中已經(jīng)有兩個按鈕和一個文本靜態(tài)控件。兩個按鈕分別是“確定”和“取消”,文本靜態(tài)控件上顯示一串字符:“TODO:在這里設(shè)置對話
17、控制?!睘榱司毩?xí)其他控件的使用,先刪除該文本靜態(tài)控件,再添加其他控件??梢韵駡D1所示一樣,添加這些控件。圖1 基本控件(4)使用加法運算使用方法:(a)添加編輯框控件,并設(shè)置屬性。(b)為編輯框控件加入成員變量。 利用類向?qū)Ъ纯商砑印#╟)成員變量的值 與 控件顯示的值之間的傳遞。傳遞方法:UpdateData(TRUE); /從對話框到變量UpdateData(FALSE); /從變量到對話框比如:圖1中編輯框?qū)?yīng)的變量名為:m_Num1、m_Num2、m_Result。計算兩個數(shù)的和并顯示出來。void CT81Dlg:OnEqual() UpdateData(TRUE);m_Result
18、 = m_Num1 + m_Num2;UpdateData(FALSE);(5)復(fù)選框控件使用方法:(a)添加控件,設(shè)置屬性。一般把幾個一組的檢查框用組框框在一起,并設(shè)置為一組。(b)為每一個控件添加一個BOOL類型的變量。當(dāng)一個控件被選中時,所對應(yīng)的變量值為真(TRUE),否則為假(FALSE)。比如:對圖1所示的檢查框定義三個BOOL變量m_Chk1、 m_Chk2、 m_Chk3,增加一個測試按鈕,測試代碼如下:void CT81Dlg:OnTestCheck() UpdateData(TRUE); /不能少CString str=""if (m_Chk1) str+
19、="選中1. "if (m_Chk2) str+="選中2. "if (m_Chk3) str+="選中3. " AfxMessageBox(str);測試效果:(6)單選框控件使用方法:(a)添加控件,設(shè)置屬性。一般把一組的幾個單選框用組框框在一起,并設(shè)置為一組。(b)為整個組定義一個整型變量,變量值對應(yīng)的值從0開始(即0,1,2,)。比如:對圖1所示的單選框定義一個int變量m_Radio,增加一個測試按鈕。測試代碼如下:void CT81Dlg:OnTestRadio() UpdateData(TRUE);/不能少CString
20、 str=""str.Format(“選中第 %d 個 單選框。",m_Radio);AfxMessageBox(str);測試效果:(7)列表框(List Control)控件List控件以列表的形式顯示數(shù)據(jù),一般可以用來顯示數(shù)據(jù)的子集,如數(shù)據(jù)庫中表的數(shù)據(jù)。List控件與CListCtrl類相關(guān)聯(lián)。使用方法:(a)添加控件,設(shè)置屬性:Styles的查看為Report。(b)為該控件添加一個成員變量,為CListCtrl類對象。 比如:CListCtrlm_ListCtrl; (c)設(shè)置初值,再用戶選擇,然后讀取用戶選擇的值。比如:對上圖的列表框進行測試,代碼如下
21、。void CT81Dlg:OnSetList( ) int i;m_ListCtrl.InsertColumn(0,"學(xué)號",LVCFMT_LEFT,50,-1);m_ListCtrl.InsertColumn(1,"姓名",LVCFMT_LEFT,100,-1);m_ListCtrl.InsertColumn(2,"性別",LVCFMT_LEFT,150,-1);i = m_ListCtrl.InsertItem(0,"1001"); /插入一個新的條目m_ListCtrl.SetItemText(i,1,&q
22、uot;張三"); /修改一個條目的文本m_ListCtrl.SetItemText(i,2,"男");i = m_ListCtrl.InsertItem(0,"1002"); /插入一個新的條目m_ListCtrl.SetItemText(i,1,"李四"); /修改一個條目的文本m_ListCtrl.SetItemText(i,2,"男");i = m_ListCtrl.InsertItem(0,"1003"); /插入一個新的條目m_ListCtrl.SetItemText(i,
23、1,"楊艷"); /修改一個條目的文本m_ListCtrl.SetItemText(i,2,"女");/加入該列表控件的消息響應(yīng)函數(shù)(鼠標點擊)。void CT81Dlg:OnClickLISTControl(NMHDR* pNMHDR, LRESULT* pResult) CString str; int i=0; for (i=0;i<m_ListCtrl. GetItemCount( );i+) if (m_ListCtrl.GetItemState(i,LVIS_SELECTED) = =LVIS_SELECTED) /判斷哪個被選中 st
24、r = m_ListCtrl.GetItemText(i,0); str = str+" "+m_ListCtrl.GetItemText(i,1); str = str+" "+m_ListCtrl.GetItemText(i,2); m_Message = str; / m_Message是用于顯示的編輯框UpdateData(FALSE);/把m_Message的值顯示到控件中*pResult = 0;測試效果:(8)組合框組合框是編輯控件和列表框的組合,用于從列表框中選擇一個選項。組合框與CComboBox類關(guān)聯(lián)。用法:(a)添加控件,設(shè)置屬性。(b)為該控件添加一個成員變量,為CComboBox類對象。比如:CComboBoxm_ComboBox; (c)設(shè)置初值,再用戶選擇,然后讀取用戶選擇的值。測試代碼:void CT81Dlg:OnSetComboBox() / TODO: Add your control notification handler code here/CComboBoxm_ComboBox; m_ComboBox.AddStri
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年山東濟寧高新區(qū)教育事業(yè)單位招聘117人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025年山東濟寧微山縣招聘鄉(xiāng)村公益性崗位人員2380人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025年山東濟南市萊蕪區(qū)選聘鄉(xiāng)村振興工作專員256人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025年山東水發(fā)文旅集團限公司權(quán)屬公司招聘5人管理單位筆試遴選500模擬題附帶答案詳解
- 2025年山東棗莊市市中區(qū)招募見習(xí)人員2272人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025年山東日照五蓮縣應(yīng)急管理局事業(yè)單位選調(diào)3人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 學(xué)校學(xué)期工作計劃錦集五篇
- 2025年山東即墨市事業(yè)單位招聘26人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025年山東中煙工業(yè)限責(zé)任公司招聘166人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025年宣城寧國中學(xué)校園招考聘用教師11人管理單位筆試遴選500模擬題附帶答案詳解
- 品管圈PDCA獲獎案例-心內(nèi)科降低心肌梗死患者便秘發(fā)生率醫(yī)院品質(zhì)管理成果匯報
- 2023年初級會計師《初級會計實務(wù)》真題及答案
- 2024-2025學(xué)年三年級上冊道德與法治統(tǒng)編版期末測試卷 (有答案)
- 2025蛇年學(xué)校元旦聯(lián)歡晚會模板
- 廣東省潮州市潮安區(qū)2023-2024學(xué)年八年級上學(xué)期期末考試英語試題-A4
- 2024年度租賃期滿退房檢查清單:租戶與房東的交接確認單
- 第八版糖尿病
- 機器人設(shè)備巡檢管理制度
- 帶式運輸機傳動裝置的設(shè)計
- DB50T 1689-2024 綠茶型老鷹茶加工技術(shù)規(guī)范
- 初級消防設(shè)施操作員實操題庫 (一)
評論
0/150
提交評論