freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

簡(jiǎn)單計(jì)算器課程設(shè)計(jì)報(bào)告-文庫(kù)吧

2025-01-03 23:50 本頁(yè)面


【正文】 IDC_NUMBER11按鈕IDC_NUMBER22按鈕IDC_NUMBER33按鈕IDC_NUMBER44按鈕IDC_NUMBER55按鈕IDC_NUMBER66按鈕IDC_NUMBER77按鈕IDC_NUMBER88按鈕IDC_NUMBER99按鈕IDC_CHANGE+/按鈕IDC_POINT.按鈕IDC_ADD+按鈕IDC_DIFFERENCE按鈕IDC_MULTIPLY*按鈕IDC_DIVIDE/按鈕IDC_SGRTsqrt按鈕IDC_DAOSHU1/x按鈕IDC_JIECHENGn!按鈕IDC_LNln按鈕IDC_SINsin按鈕IDC_COScos按鈕IDC_MI101O^x按鈕IDC_LOGLog按鈕IDC_arcsinasin按鈕IDC_arccosacos按鈕IDC_EXPexp按鈕IDC_EQUAL=按鈕IDC_BACKSPACE←按鈕IDC_CLERAC單選框IDC_RADIO_hudu弧度單選框IDC_RADIO_jiaodu度 1)在圖7所示的Resoure View選項(xiàng)卡中打開Icon資源組,鼠標(biāo)右鍵單擊liuyunlong resource,在快捷菜單中單擊“插入”,彈出“插入資源”對(duì)話框,單擊Menu選項(xiàng),之后單擊“新建”。如下圖所示:圖12 插入資源對(duì)話框圖 2)右鍵單擊菜單項(xiàng),修改菜單資源的ID為IDR_MENU,在工作區(qū)右鍵單擊矩形框,選擇屬性,在標(biāo)明里寫要添加的菜單項(xiàng)名稱,同時(shí)修改ID。如下圖所示:圖13 添加的查看菜單項(xiàng)圖 對(duì)應(yīng)的菜單屬性如下表:表2 菜單屬性表菜單選項(xiàng)ID=IDC_EQUAL.IDC_POINT+IDC_ADDIDC_DIFFERENCE*IDC_MULTIPLY/IDC_DIVIDEsinIDC_SINcosIDC_COSasinIDC_arcsinacosIDC_arccosLogIDC_LOGlnIDC_LNsqrtIDC_SGRTexpIDC_EXP1O^xIDC_MI10科學(xué)型ID_MENU_kexue標(biāo)準(zhǔn)型ID_MENU_biaozhunexitID_exit關(guān)于計(jì)算器ID_MENU_guanyu3)幫助菜單彈出對(duì)話框:右鍵單擊Dialog,在快捷菜單中單擊插入Dialog,確定,在新生成的對(duì)話框中加入靜態(tài)文本框,并編輯相應(yīng)的文字。如下圖所示:圖14 幫助菜單項(xiàng)彈出的對(duì)話框圖 根據(jù)以上操作最終的界面圖:圖15 最終界面的顯示圖 關(guān)鍵功能的實(shí)現(xiàn)1)界面顏色的改變: 首先重載對(duì)話框的CLiuyunlongDlg類的OnPaint()成員函數(shù),即WM_PAINT消息。利用GetClientRect()函數(shù)獲取窗口客戶區(qū)的坐標(biāo)。然后利用FillSolidRect成員函數(shù)用指定的固體色填充矩形,其中顏色由RGB函數(shù)進(jìn)行設(shè)定。2)窗口的伸縮的實(shí)現(xiàn): 首先要在對(duì)話框中要伸縮的位置插入一個(gè)圖像控件,將其拉成一條直線,并取消可見。 其次在實(shí)現(xiàn)文件里邊定義兩個(gè)靜態(tài)變量,用來存儲(chǔ)對(duì)話框尺寸信息。為了實(shí)現(xiàn)第一次顯示為標(biāo)準(zhǔn)型,所以獲取顯示尺寸和位置信息以及執(zhí)行SetWindowPos函數(shù)的最佳時(shí)機(jī)應(yīng)放在對(duì)話框創(chuàng)建之后,第一次顯示之前。為此利用WM_INITDIALOG消息的響應(yīng)函數(shù)OnInitDialog來對(duì)對(duì)話框及控件進(jìn)行相關(guān)的設(shè)置和修改。該函數(shù)中利用GetDlgItem函數(shù)獲得圖像控件的窗口句柄,結(jié)合GetWindowRect函數(shù)得到圖像控件的矩形框。進(jìn)而進(jìn)行標(biāo)準(zhǔn)型參數(shù)的獲取,利用SetWindowPos()函數(shù)完成對(duì)對(duì)話框的寬度、高度等參數(shù)的初始化設(shè)置。 最后添加相應(yīng)的菜單響應(yīng)函數(shù),在響應(yīng)函數(shù)里邊利用SetWindowPos()函數(shù)完成對(duì)對(duì)話框的寬度、高度等參數(shù)的設(shè)置。3)標(biāo)準(zhǔn)型和科學(xué)型選擇標(biāo)記的實(shí)現(xiàn): 首先在對(duì)話框類的實(shí)現(xiàn)文件中添加ON_WM_INITMENUPOPUP入口到消息映射里面。 其次在對(duì)話框類的頭文件中添加消息函數(shù)聲明afx_msg void OnInitMenuPopup(CMenu *pPopupMenu, UINT nIndex,BOOL bSysMenu)。 再次在對(duì)話框類的實(shí)現(xiàn)文件中添加相應(yīng)的void CLiuyunlongDlg OnInitMenuPopup函數(shù)代碼,::OnInitMenuPopup()。 最后在實(shí)現(xiàn)文件中定義兩個(gè)全局的布爾型變量kexue、biaozhun,通過這兩個(gè)變量的值判斷執(zhí)行的是標(biāo)準(zhǔn)型、科學(xué)型的哪一個(gè),并給標(biāo)準(zhǔn)型和科學(xué)型菜單項(xiàng)添加相應(yīng)的UPDATE_COMMAND_UI響應(yīng)函數(shù),在響應(yīng)函數(shù)里調(diào)用SetRadio函數(shù)來進(jìn)行標(biāo)記。4)幫助菜單中關(guān)于計(jì)算器菜單的實(shí)現(xiàn):首先創(chuàng)建新的對(duì)話框資源,在創(chuàng)建完對(duì)話框資源之后,生成一個(gè)相關(guān)的對(duì)話框類。 其次創(chuàng)建相應(yīng)的菜單項(xiàng)資源,即添加幫助菜單,并添加相應(yīng)的CAMMAND消息響應(yīng)函數(shù),在響應(yīng)函數(shù)里邊定義對(duì)話框類對(duì)象,調(diào)用DoModal函數(shù)。5)操作數(shù)的實(shí)現(xiàn): 首先通過小數(shù)標(biāo)志位point判斷當(dāng)前是否有小數(shù)點(diǎn),如果有用num1記錄當(dāng)前鍵入的數(shù)值,并將小數(shù)點(diǎn)后的位數(shù)標(biāo)志位加一,利用for循環(huán),實(shí)現(xiàn)該數(shù)在小數(shù)點(diǎn)哪一位,然后通過正負(fù)標(biāo)志位zhengfu判斷當(dāng)前數(shù)值是正數(shù)還是負(fù)數(shù),如果是正數(shù)直接將m_num和小數(shù)num1相加,如果是負(fù)號(hào)則m_num減去num1。如果沒有小數(shù)點(diǎn)則直接判斷該數(shù)的正負(fù),若為正數(shù)則m_num乘10之后加上鍵入的數(shù),若為負(fù)號(hào)則m_num乘10之后減去鍵入的數(shù)。并把結(jié)果保存到m_num中,利用UpdateData(FALSE),刷新輸出到編輯框。6)退格鍵的實(shí)現(xiàn): 首先判斷當(dāng)前數(shù)值是否是小數(shù),如果不是小數(shù)則對(duì)編輯框里邊的數(shù)進(jìn)行除10操作,然后利用fmod進(jìn)行取余操作,減去該十分位小數(shù);當(dāng)該數(shù)為小數(shù)時(shí),利用小數(shù)點(diǎn)后的位數(shù)標(biāo)志位dianhou 進(jìn)行for循環(huán),移動(dòng)小數(shù)點(diǎn)的位置,當(dāng)只有十分位時(shí)停止,減去該位,再次利用for循環(huán)將小數(shù)點(diǎn)移至原來的數(shù)后面,用UpdateData(FALSE),刷新輸出到編輯框。7)清除鍵的實(shí)現(xiàn): 將編輯框連接的變量m_num,所有的臨時(shí)變量numnum2,標(biāo)志位dianhou、danshuang、point、zhengfu,進(jìn)行清零復(fù)位操作即可。8)角度值轉(zhuǎn)換的實(shí)現(xiàn): 利用單選按鈕框,連接相應(yīng)的變量m_hudu,標(biāo)志當(dāng)前是弧度值,還是一般的度,如果是一般的度,令m_jiao=1,如果是弧度,令m_jiao=(2*Pi)/360,用m_jiao作為角度值轉(zhuǎn)換的臨時(shí)變量,當(dāng)前的編輯框值乘以m_jiao,進(jìn)行轉(zhuǎn)換,而在單選按鈕響應(yīng)函數(shù)中用UpdateData(true)更新數(shù)據(jù)到文檔中。9)單目運(yùn)算符的運(yùn)算實(shí)現(xiàn): 首先對(duì)輸入的數(shù)值判斷是否合法,如開平方、取對(duì)數(shù)、取倒數(shù)等操作,不合法時(shí)輸出響應(yīng)的提示,合法時(shí)利用數(shù)學(xué)函數(shù)進(jìn)行運(yùn)算,并用m_num記錄結(jié)果,判斷結(jié)果是否超過double型的范圍,若超過則輸出提示,若沒有超過就更新到編輯框,最后對(duì)標(biāo)志位dianhou、point、zhengfu復(fù)位和臨時(shí)變量num1清零。10)雙目運(yùn)算符的運(yùn)算實(shí)現(xiàn): 首先判斷單雙運(yùn)算符標(biāo)志位是否為0,如果不為0,便調(diào)用等號(hào)的消息響應(yīng)函數(shù),實(shí)現(xiàn)上次的雙目運(yùn)算。 其次判斷num2是否為0,若為0,便將此時(shí)編輯框的值賦給num2,再將m_num值置0,設(shè)置當(dāng)前的雙目運(yùn)算符的標(biāo)志,并將point、zhengfu、dianhou復(fù)位。 最后輸入數(shù)據(jù)后,按等號(hào)鍵調(diào)用相應(yīng)的消息響應(yīng)函數(shù),根據(jù)danshuang值來選擇相應(yīng)的算法,進(jìn)行運(yùn)算。 很快兩周的時(shí)間就過去了,在這段時(shí)間里我真的是感觸頗多,隨著自己這兩周的時(shí)間一步一步的推進(jìn),自己對(duì)基于對(duì)話框的編程也越來越系統(tǒng)化,真的可以說是獲益良多。 這次課程設(shè)計(jì)是我們做的第三個(gè)課程設(shè)計(jì),每一個(gè)課程設(shè)計(jì)之后真的是感覺自己取得了平時(shí)學(xué)習(xí)所不能達(dá)到的效果。像以前的我做的帶通濾波器的設(shè)計(jì)、叮咚門鈴都使自己在電路理論、模電等方面的知識(shí)有一個(gè)很好的運(yùn)用與實(shí)踐,而這次的簡(jiǎn)單計(jì)算器的設(shè)計(jì)讓自己對(duì)面向?qū)ο缶幊逃幸粋€(gè)更好的認(rèn)識(shí),對(duì)mfc編程的有了進(jìn)一步的了解,并掌握了一些基本的功能的實(shí)現(xiàn)。 我做的簡(jiǎn)單計(jì)算器的設(shè)計(jì)是基于對(duì)話框的,這個(gè)計(jì)算器除了簡(jiǎn)單的加減乘除等運(yùn)算,還要實(shí)現(xiàn)開方、指數(shù)、取對(duì)數(shù)、冪、正余弦等運(yùn)算。而實(shí)現(xiàn)這些功能尤其要注意的是單目運(yùn)算符和雙目運(yùn)算符的區(qū)別以及小數(shù)、正負(fù)號(hào)實(shí)現(xiàn)方法。當(dāng)時(shí)想了好久,最后通過和同學(xué)的探討,決定用相應(yīng)的標(biāo)志位對(duì)這些情況進(jìn)行判定,如小數(shù)點(diǎn)
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1