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

正文內(nèi)容

簡單計算器課程設(shè)計報告-在線瀏覽

2025-03-07 23:50本頁面
  

【正文】 按鈕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選項卡中打開Icon資源組,鼠標(biāo)右鍵單擊liuyunlong resource,在快捷菜單中單擊“插入”,彈出“插入資源”對話框,單擊Menu選項,之后單擊“新建”。如下圖所示:圖13 添加的查看菜單項圖 對應(yīng)的菜單屬性如下表:表2 菜單屬性表菜單選項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)于計算器ID_MENU_guanyu3)幫助菜單彈出對話框:右鍵單擊Dialog,在快捷菜單中單擊插入Dialog,確定,在新生成的對話框中加入靜態(tài)文本框,并編輯相應(yīng)的文字。利用GetClientRect()函數(shù)獲取窗口客戶區(qū)的坐標(biāo)。2)窗口的伸縮的實現(xiàn): 首先要在對話框中要伸縮的位置插入一個圖像控件,將其拉成一條直線,并取消可見。為了實現(xiàn)第一次顯示為標(biāo)準(zhǔn)型,所以獲取顯示尺寸和位置信息以及執(zhí)行SetWindowPos函數(shù)的最佳時機應(yīng)放在對話框創(chuàng)建之后,第一次顯示之前。該函數(shù)中利用GetDlgItem函數(shù)獲得圖像控件的窗口句柄,結(jié)合GetWindowRect函數(shù)得到圖像控件的矩形框。 最后添加相應(yīng)的菜單響應(yīng)函數(shù),在響應(yīng)函數(shù)里邊利用SetWindowPos()函數(shù)完成對對話框的寬度、高度等參數(shù)的設(shè)置。 其次在對話框類的頭文件中添加消息函數(shù)聲明afx_msg void OnInitMenuPopup(CMenu *pPopupMenu, UINT nIndex,BOOL bSysMenu)。 最后在實現(xiàn)文件中定義兩個全局的布爾型變量kexue、biaozhun,通過這兩個變量的值判斷執(zhí)行的是標(biāo)準(zhǔn)型、科學(xué)型的哪一個,并給標(biāo)準(zhǔn)型和科學(xué)型菜單項添加相應(yīng)的UPDATE_COMMAND_UI響應(yīng)函數(shù),在響應(yīng)函數(shù)里調(diào)用SetRadio函數(shù)來進行標(biāo)記。 其次創(chuàng)建相應(yīng)的菜單項資源,即添加幫助菜單,并添加相應(yīng)的CAMMAND消息響應(yīng)函數(shù),在響應(yīng)函數(shù)里邊定義對話框類對象,調(diào)用DoModal函數(shù)。如果沒有小數(shù)點則直接判斷該數(shù)的正負(fù),若為正數(shù)則m_num乘10之后加上鍵入的數(shù),若為負(fù)號則m_num乘10之后減去鍵入的數(shù)。6)退格鍵的實現(xiàn): 首先判斷當(dāng)前數(shù)值是否是小數(shù),如果不是小數(shù)則對編輯框里邊的數(shù)進行除10操作,然后利用fmod進行取余操作,減去該十分位小數(shù);當(dāng)該數(shù)為小數(shù)時,利用小數(shù)點后的位數(shù)標(biāo)志位dianhou 進行for循環(huán),移動小數(shù)點的位置,當(dāng)只有十分位時停止,減去該位,再次利用for循環(huán)將小數(shù)點移至原來的數(shù)后面,用UpdateData(FALSE),刷新輸出到編輯框。8)角度值轉(zhuǎn)換的實現(xiàn): 利用單選按鈕框,連接相應(yīng)的變量m_hudu,標(biāo)志當(dāng)前是弧度值,還是一般的度,如果是一般的度,令m_jiao=1,如果是弧度,令m_jiao=(2*Pi)/360,用m_jiao作為角度值轉(zhuǎn)換的臨時變量,當(dāng)前的編輯框值乘以m_jiao,進行轉(zhuǎn)換,而在單選按鈕響應(yīng)函數(shù)中用UpdateData(true)更新數(shù)據(jù)到文檔中。10)雙目運算符的運算實現(xiàn): 首先判斷單雙運算符標(biāo)志位是否為0,如果不為0,便調(diào)用等號的消息響應(yīng)函數(shù),實現(xiàn)上次的雙目運算。 最后輸入數(shù)據(jù)后,按等號鍵調(diào)用相應(yīng)的消息響應(yīng)函數(shù),根據(jù)danshuang值來選擇相應(yīng)的算法,進行運算。 這次課程設(shè)計是我們做的第三個課程設(shè)計,每一個課程設(shè)計之后真的是感覺自己取得了平時學(xué)習(xí)所不能達到的效果。 我做的簡單計算器的設(shè)計是基于對話框的,這個計算器除了簡單的加減乘除等運算,還要實現(xiàn)開方、指數(shù)、取對數(shù)、冪、正余弦等運算。當(dāng)時想了好久,最后通過和同學(xué)的探討,決定用相應(yīng)的標(biāo)志位對這些情況進行判定,如小數(shù)點用布爾值point進行標(biāo)記,而dianhou標(biāo)記小數(shù)點后的位數(shù)。對于這個彈出的對話框我參考了課件里最后一章節(jié)在單文檔中的實現(xiàn)方法,添加新的對話框資源,建立新的對話框類實現(xiàn)對話框的彈出。為了辨明此時選中的是標(biāo)準(zhǔn)型,還是科學(xué)型,我又想到在類型前加上點,也參考了課件里的單文檔中的做法,添加UPDATE_COMMAND_UI響應(yīng)函數(shù),在響應(yīng)函數(shù)里調(diào)用SetRadio函數(shù)來進行標(biāo)記。之后再按課件里邊的進行就可以了。 在今后的學(xué)習(xí)中自己一定要把基礎(chǔ)給打好,基本功扎實,同時也要善于思考,知道不同之間的聯(lián)系,相同之間的差異,并進行總結(jié),在以后再隨后根據(jù)情況查詢寫相關(guān)的資料,來完成所要求的功能。當(dāng)輸入數(shù)時首先判斷point是否為true,若為true表示該數(shù)是小數(shù),用num1記錄當(dāng)前的鍵入值,同時對dianhou進行加一,根據(jù)dianhou進行for循環(huán),進行除以10操作,再根據(jù)該數(shù)的正負(fù),來決定是m_num加num1,還是減num1,用UpdateData(FALSE)刷新輸出到編輯框。描述等號對應(yīng)的消息處理函數(shù)中需要處理的問題及相應(yīng)的實現(xiàn)代碼? 答:等號對應(yīng)的消息處理函數(shù)主要處理雙目運算符的運算。其中在除法和取對數(shù)運算中還要判斷操作數(shù)是否合法,如果不合法輸出提示內(nèi)容,如果合法進行運算。最后對相應(yīng)的標(biāo)志位進行復(fù)位。 //兩數(shù)相加UpdateData(FALSE)。case 2:m_num=num2m_num。 //數(shù)據(jù)刷新break。 //兩數(shù)相乘UpdateData(FALSE)。case 4:if (m_num==0) //在除法中,判斷除數(shù)是否為0GetDlgItem(IDC_SHUCHU)SetWindowText(輸入錯誤,0不能作除數(shù)!)。UpdateData(FALSE)。case 5:if (m_num=0||num2=0) //判斷操作數(shù)是否合法GetDlgItem(IDC_SHUCHU)SetWindowText(輸入錯誤,取對數(shù)要為正數(shù)!)。UpdateData(FALSE)。}if(m_num=||m_num)GetDlgItem(IDC_SHUCHU)SetWindowText(結(jié)果過大,無法顯示)。num1=0。point=FALSE。zhengfu=TRUE。而我的實現(xiàn)方法是選擇伸縮框,初始時是標(biāo)準(zhǔn)型,界面上只有數(shù)值和簡單的加減乘除等運算按鈕,當(dāng)單擊科學(xué)型時,對話框進行了擴展,出現(xiàn)了可以科學(xué)型運算的部分。其次在實現(xiàn)文件里邊定義兩個靜態(tài)變量,用來存儲對話框尺寸信息。為此利用WM_INITDIALOG消息的響應(yīng)函數(shù)OnInitDialog來對對話框及控件進行相關(guān)的設(shè)置和修改。進而進行標(biāo)準(zhǔn)型參數(shù)的獲取,利用SetWindowPos()函數(shù)完成對對話框的寬度、高度等參數(shù)的初始化設(shè)置。error C2296: 39。 : illegal, left operand has type 39。解決辦法:因為取余數(shù)的運算符%只能用于整數(shù),不能用于浮點數(shù),經(jīng)過查詢資料知道用fmod可進行取余運算。UpdateData(FALSE)。 解決辦法:主要是因為在提示語句輸出后,立即進行了編輯框的刷新,將其覆蓋,所以將updateData(FALSE)提前即可在進行角度制轉(zhuǎn)換的時,相應(yīng)的資源和代碼完成之后,運行發(fā)現(xiàn)剛開始沒有選中標(biāo)準(zhǔn)型和科學(xué)型的任何一個。運行時出現(xiàn)以下提示“l(fā)iuyunlong Microsoft 基礎(chǔ)類應(yīng)用程序已停止工作(出現(xiàn)了一個問題,導(dǎo)致
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1