版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
word文檔可自由復(fù)制編輯JINGCHUUNIVERSITYOFTECHNOLOGYJINGCHUUNIVERSITYOFTECHNOLOGY《VC++程序設(shè)計》期末考核報告姓名:學(xué)號:班級:計算機(jī)科學(xué)與技術(shù)3班課程題目:VC++期末作品指導(dǎo)老師:時間:目錄TOC\o"1-3"\h\u295981.報告要求的概述 2148411.1菜單制作 2119241.2控件操作——簡單計算器 3133591.3文件操作——通訊錄 325051.4圖形繪制——CAD程序模擬 3255141.5自主設(shè)計部分 3235932.報告控件操作(簡單計算器)的設(shè)計 3239942.1簡單計算器的設(shè)計思想 3244612.2簡單計算器的設(shè)計過程。 3121452.2.3按鈕屬性 4176232.2.4相關(guān)代碼 596983.通訊錄的設(shè)計過程 7199003.1通訊錄的設(shè)計思想 7105403..2通訊錄的設(shè)計過程: 7169213.2.3控件屬性 8186943.2.4相關(guān)代碼 812314.CAD程序模擬(繪圖)的設(shè)計過程: 9201501.繪圖的設(shè)計思想: 9277532.繪圖的設(shè)計過程 101931五.自主設(shè)計部分 1126147六.結(jié)束語 11《VC開發(fā)技術(shù)》期末考核報告1.報告要求的概述本次期末考試采取課程設(shè)計報告的方式,而此報告設(shè)計主要包括以下五個方面的內(nèi)容。1.1菜單制作用自己設(shè)計的菜單來替代系統(tǒng)的菜單,但在此基礎(chǔ)上仍然保留了與系統(tǒng)菜單的切換,并將系統(tǒng)菜單項全部變灰(即讓其停止工作)。而在自己所設(shè)計的菜單上包括以下幾個菜單項1)“簡單計算器”:比較簡單了如加減乘除,開方,倒數(shù)等基本的運算功能。2)“通訊錄”:簡單的實現(xiàn)了對聯(lián)系人的增加、刪除、瀏覽等功能。3)“CAD程序模擬”:簡單實現(xiàn)了對一些直線、圓、扇形、折線等圖形的平面繪圖。其中包括了一些顏色的設(shè)置,以及對線型、線寬、填充樣式的選擇。4)“自主設(shè)計部分”:對單文檔工程添加了一個背景音樂。5)“菜單切換”:單純地用來與系統(tǒng)菜單互相的切換。并在新設(shè)計的菜單上為菜單項“簡單計算器”的子菜單“打開計算器”設(shè)置了缺省按鈕,并為其添加了快捷鍵(Ctrl+j)和工具按鈕(C)。并在狀態(tài)欄上顯示出自己的姓名和班級。1.2控件操作——簡單計算器對數(shù)據(jù)實現(xiàn)一些基本功能,如加減乘除、開放、倒數(shù)。1.3文件操作——通訊錄此部分還需要完善,僅對其實現(xiàn)了增加、刪除、瀏覽等功能,但對其查找的功能卻沒做。1.4圖形繪制——CAD程序模擬或者應(yīng)該說是CAD平面繪圖的簡單模擬更加準(zhǔn)確,這個部分并沒有CAD程序立體繪圖的部分,但也能滿足使用者動態(tài)選擇圖形(如直線、圓、折線、扇形等)進(jìn)行繪制。1.5自主設(shè)計部分為整個單文檔程序添加了一首背景音樂,可以通過子菜單“開背景音樂”和“關(guān)背景音樂”,來實現(xiàn)背景音樂的開關(guān)。2.報告控件操作(簡單計算器)的設(shè)計2.1簡單計算器的設(shè)計思想a.考慮到所有按鈕可分為數(shù)字類和符號類,其中0~9為數(shù)字類,其他運算符號等為符號類。而數(shù)字在運算過程中需要保存的有兩個,故定義兩個變量m_frist和m_second;而運算的符號則用m_operator來表示。另外定義一個m_display來顯示編輯框里的內(nèi)容,在加上一個保存小數(shù)點位置的變量m_coff。b.對編輯框里顯示的內(nèi)容,有兩種情況:第一種,第一個數(shù)和第二個數(shù)及運算的符號同時顯示在編輯框里;第二種,第一個數(shù)和第二個數(shù)分別顯示在編輯框里,運算的符號并不顯示。而此次做的計算器選用的第二種情況。c.由于只是做的簡單的計算器,實現(xiàn)數(shù)據(jù)的一些基本功能,又考慮到運算過程中會出現(xiàn)的混合運算,因此制作中并沒有添加混合運算功能,從頭至尾都只有兩個數(shù)的基本運算,并不能一下子執(zhí)行如1+2*5/4的運算,而是對其分步的運算。d.考慮到在輸入輸入時可能因為情急輸入,因此加入了退格功能,可以將數(shù)字的最后一位去掉,而讓其重新輸入。2.2簡單計算器的設(shè)計過程。2.2.1類的建立插入一個Dialog的對話框,并新建一個類CcalculDlg與之相關(guān)聯(lián),其基類為CDialog。2.2.2按鈕及界面為所插入的Dialog添加一系列控件,其界面如下:2.2.3按鈕屬性按鈕標(biāo)題ID號對應(yīng)的功能0IDC_BUTTON0輸入01IDC_BUTTON1輸入12IDC_BUTTON2輸入23IDC_BUTTON3輸入34IDC_BUTTON4輸入45IDC_BUTTON5輸入56IDC_BUTTON6輸入67IDC_BUTTON7輸入78IDC_BUTTON8輸入89IDC_BUTTON9輸入9.IDC_BUTTON_point輸入小數(shù)點+IDC_BUTTON_jia響應(yīng)+的運算-IDC_BUTTON_jian響應(yīng)-的運算*IDC_BUTTON_cheng響應(yīng)*的運算/IDC_BUTTON_chu響應(yīng)/的運算CIDC_BUTTON_clear編輯框清零sqrtIDC_BUTTON_kaifang響應(yīng)sqrt的運算1/xIDC_BUTTON_daoshu響應(yīng)1/x的運算=IDC_BUTTO_equal輸出運算后結(jié)果Edit1IDC_EDIT_display顯示運算的數(shù)據(jù)及運算的結(jié)果退格IDC_BUTTON21將數(shù)據(jù)最后一位去掉2.2.4相關(guān)代碼a.數(shù)字0-9按鈕響應(yīng)的函數(shù)代碼(以0為例)voidCcalculDlg::OnButton0(){ UpdateData(); if(m_coff==1.0) m_second=m_second*10+0; else { m_second=m_second+0*m_coff; m_coff*=0.1; }UpdateDisplay(m_second);}b.運算符按鈕響應(yīng)函數(shù)代碼如下:voidCcalculDlg::Calculate(){switch(m_operator.GetAt(0)) { case'+':m_first+=m_second;break;case'-':m_first-=m_second;break;case'*':m_first*=m_second;break; case'/': if(fabs(m_second)<=0.000001) { MessageBox("除數(shù)不能為0"); return; } m_first/=m_second;break; } m_second=0.0; m_coff=1.0; m_operator=_T("+");UpdateDisplay(m_first);}//加減乘除的運算voidCcalculDlg::OnBUTTONkaifang(){ if(m_second==0) { m_first=sqrt(m_first);UpdateDisplay(m_second);; } else{ m_second=sqrt(m_second);UpdateDisplay(m_second); }}//開方的運算voidCcalculDlg::OnBUTTONdaoshu(){ if(fabs(m_second)<0.000001&&fabs(m_first)<0.000001) {m_display="除數(shù)不能為0"; UpdateData(FALSE); return;}if(fabs(m_first)) {m_first=1.0/m_first; UpdateDisplay(m_second); } else {m_second=1.0/m_second; UpdateDisplay(m_second); }}//倒數(shù)的運算在其對應(yīng)的消息響應(yīng)函數(shù)中直接調(diào)用Ccalculate()函數(shù)即可。c.退格按鈕的函數(shù)代碼如下:voidCcalculDlg::OnButton21(){ UpdateData();m_display.Delete(m_display.GetLength()-1,1); m_second=double(atoi((LPSTR)(LPCTSTR)m_display));UpdateData(false);}d.編輯框顯示的函數(shù)代碼:voidCcalculDlg::UpdateDisplay(doubleVal){m_display.Format(_T("%f"),Val);inti=m_display.GetLength();while(m_display.GetAt(i-1)=='0'){ m_display.Delete(i-1,1);i--;}UpdateData(false);}3.通訊錄的設(shè)計過程3.1通訊錄的設(shè)計思想考慮需要的四個功能,通過添加兩個功能按鈕控件,來實現(xiàn)“添加”“刪除”兩個功能,而對于“瀏覽”“查找”兩個功能,通過添加一個列表框來儲存聯(lián)系人,通過觀察來實現(xiàn)這兩個功能。3..2通訊錄的設(shè)計過程:3.2.1類的建立插入一個Dialog的對話框,并新建一個類ClistDlg與之相關(guān)聯(lián),其基本為CDialog。3.2.2控件及界面為所插入的Dialog添加一系列控件,其界面如下:3.2.3控件屬性控件ID號標(biāo)題變量名變量類型變量類別列表框IDC_LIST1-m_ListBoxCListBoxControl編輯框(姓名)IDC_EDIT_name-m_nameCStringValue編輯框(電話)IDC_EDIT_tel-m_telCStringValue編輯框(地址)IDC_EDIT_address-m_addressCStringValue按鈕(添加)IDC_BUTTON_add添加---按鈕(刪除)IDC_BUTTON_del刪除---3.2.4相關(guān)代碼a.“添加”voidClistDlg::OnBUTTONadd(){ if(!IsValidate())return; intndex=m_ListBox.FindStringExact(-1,m_name); if(ndex!=LB_ERR){ MessageBox("該聯(lián)系人已添加"); } else{ ndex=m_ListBox.AddString(m_name); } CStringstrData; strData.Format("%s,%s",m_tel,m_address);m_ListBox.SetItemDataPtr(ndex,newCString(strData));m_name="";m_tel="";m_address="";UpdateData(false); }b.“刪除”voidClistDlg::OnBUTTONdel(){ intnIndex=m_ListBox.GetCurSel();if(nIndex!=LB_ERR){ m_ListBox.DeleteString(nIndex);}else MessageBox("請選擇要刪除的人");m_name=""; m_tel=""; m_address=""; UpdateData(false);}4.CAD程序模擬(繪圖)的設(shè)計過程:1.繪圖的設(shè)計思想:由于CAD程序模擬是既可以對平面圖,也可對立體圖進(jìn)行繪畫的,而為了簡單,這次制作忽略了CAD程序模擬繪畫立體圖的情況,只是設(shè)計了使用者可動態(tài)地對線、圓、矩形、扇形、折線等常規(guī)圖形的繪畫。還有對畫筆顏色,線型、線寬、填充樣式的選擇。由于此次部分不打算再用對話框。因此,對線寬的選擇和對填充樣式的選擇均只是簡單的幾個,并不豐富。對各圖形的繪制中,打算用一個循環(huán)語句(switch)來設(shè)置,需一個變量m_nChoose做參數(shù)。這樣在對應(yīng)子菜單的響應(yīng)函數(shù)中更方便。而對線型、線寬、填充樣式,則需設(shè)置相應(yīng)的變量m_nLineType、m_nLineWidth、m_fill。由于繪圖,還需設(shè)置變量m_nStart用來表示鼠標(biāo)光標(biāo)起始點位置。而對顏色設(shè)置用變量m_color2.繪圖的設(shè)計過程4.2.1菜單項設(shè)置在CAD程序模擬的子菜單中添加如下的子菜單:子菜單名稱ID號線ID_line矩形ID_round圓ID_rect圓角矩形ID_roundrect弦形ID_xianxing扇形ID_shanxing折線ID_zhexina多邊形ID_duobianxingCAD線型:用來設(shè)置繪圖過程中的線的形狀。CAD線寬:用來設(shè)置繪圖過程中的線的寬度(大概設(shè)置,不具體)。CAD填充樣式:用來設(shè)置圖形所填充的樣式。顏色:用來改變繪圖中線的顏色。4.2.2相關(guān)代碼:a.對各圖形繪制的代碼(以線為例)switch(m_nChoose) { case2: dc.MoveTo(m_nStart); dc.LineTo(point); break;}而對應(yīng)其他的圖形,則只需調(diào)用相對應(yīng)的函數(shù),如折線,則用dc調(diào)用PolyLine函數(shù)。在對子菜單線的消息相應(yīng)中令m_nChoose=2即可,代碼如下:voidCMy11346_View::Online(){ m_nChoose=2;}b.對顏色相應(yīng)的函數(shù)代碼:voidCMy11346_View::Oncolor(){ CColorDialogdlg; dlg.m_cc.Flags|=CC_RGBINIT; dlg.m_cc.r
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 上海市社團(tuán)財務(wù)制度
- 房產(chǎn)中介財務(wù)制度范本
- 農(nóng)業(yè)合作社退股財務(wù)制度
- 會計如何制定財務(wù)制度
- 中梁財務(wù)制度
- 人力財務(wù)制度
- 冰雪運動制度
- 內(nèi)部審計工作底稿的三級復(fù)核制度
- 公開征集意見制度
- 梳理現(xiàn)有合規(guī)管理制度(3篇)
- 2026貴州省省、市兩級機(jī)關(guān)遴選公務(wù)員357人考試備考題庫及答案解析
- 兒童心律失常診療指南(2025年版)
- 北京通州產(chǎn)業(yè)服務(wù)有限公司招聘備考題庫必考題
- (正式版)DBJ33∕T 1307-2023 《 微型鋼管樁加固技術(shù)規(guī)程》
- 2026年基金從業(yè)資格證考試題庫500道含答案(完整版)
- 2025年寵物疫苗行業(yè)競爭格局與研發(fā)進(jìn)展報告
- 2025年中國礦產(chǎn)資源集團(tuán)所屬單位招聘筆試參考題庫附帶答案詳解(3卷)
- 氣體滅火系統(tǒng)維護(hù)與保養(yǎng)方案
- 電梯檢驗安全導(dǎo)則
- 糖代謝紊亂生物化學(xué)檢驗
- 科技基礎(chǔ)性工作專項項目科學(xué)數(shù)據(jù)匯交方案編制
評論
0/150
提交評論