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

正文內(nèi)容

簡單計算器課程設計報告(編輯修改稿)

2025-02-14 23:50 本頁面
 

【文章內(nèi)容簡介】 用布爾值point進行標記,而dianhou標記小數(shù)點后的位數(shù)。在這些最基本的功能完成之后,我想增加一些其他功能,為此我打開了電腦自帶的計算器,看了一下界面,看到電腦自帶的計算器能夠進行窗口的伸縮,單擊幫助信息,能夠?qū)崿F(xiàn)彈出一個對話框,顯示該計算器的基本信息。對于這個彈出的對話框我參考了課件里最后一章節(jié)在單文檔中的實現(xiàn)方法,添加新的對話框資源,建立新的對話框類實現(xiàn)對話框的彈出。而窗口的伸縮我在網(wǎng)上搜了一些資料,利用在對話框中添加一個圖像控件將其拉成直線,獲取該圖像控件的位置,實現(xiàn)對話框的大小變化。為了辨明此時選中的是標準型,還是科學型,我又想到在類型前加上點,也參考了課件里的單文檔中的做法,添加UPDATE_COMMAND_UI響應函數(shù),在響應函數(shù)里調(diào)用SetRadio函數(shù)來進行標記。可是結(jié)果是當點擊標準型或是科學型時沒有絲毫的反應,當時根據(jù)課件看了好長的時間,進行修改仍是不行,后來無奈之下,求助于網(wǎng)上,看了資料后,我明白了,在單文檔和多文檔中的實現(xiàn)是一樣的,可是對于對話框則有些不一樣,原因就在于在一個基于對話框的程序中,因為沒有OnInitMenuPopup函數(shù),所以不會調(diào)用UPDATE_COMMAND_UI響應函數(shù),而是使用了CWnd類的默認處理,為此就要將OnInitMenuPopup函數(shù)添加到實現(xiàn)文件里邊。之后再按課件里邊的進行就可以了。 這次課設進行的真的是挺開心的,本來自己對編程就感覺挺有興趣,對于這些東西老想做的更好一點,每次在添加完一個新功能之后自己就感覺很高興,尤其是那些經(jīng)過很長時間才解決的問題,給自己的印象更加的深刻。 在今后的學習中自己一定要把基礎(chǔ)給打好,基本功扎實,同時也要善于思考,知道不同之間的聯(lián)系,相同之間的差異,并進行總結(jié),在以后再隨后根據(jù)情況查詢寫相關(guān)的資料,來完成所要求的功能??偟膩碚f這次的課程設計既鞏固了自己以前的MFC程序設計知識,也拓展了自己的思維,增加了自己的動手能力,最后也很感謝老師給我們的支持以及嚴格要求![1] ++實踐[M].西安電子科技大學出版社,2005.[2] 張建宏,湯練兵,[M].北京:科學出版社,2009.[3] 姚領(lǐng)田.精通MFC程序設計[M].北京:人民郵電出版社,2006.程序中如何實現(xiàn)小數(shù)的顯示與運算? 答:,定義一個整型變量dianhou記錄小數(shù)點后的位數(shù)。當輸入數(shù)時首先判斷point是否為true,若為true表示該數(shù)是小數(shù),用num1記錄當前的鍵入值,同時對dianhou進行加一,根據(jù)dianhou進行for循環(huán),進行除以10操作,再根據(jù)該數(shù)的正負,來決定是m_num加num1,還是減num1,用UpdateData(FALSE)刷新輸出到編輯框。在實現(xiàn)退格功能是,若point為true,則根據(jù)dianhou的值循環(huán)對m_num乘以10,將小數(shù)點移到只有十分位,利用fmod取余,將編輯框的變量值減去該余數(shù),最后再進行循環(huán)將小數(shù)點移到原來數(shù)字的后邊。描述等號對應的消息處理函數(shù)中需要處理的問題及相應的實現(xiàn)代碼? 答:等號對應的消息處理函數(shù)主要處理雙目運算符的運算。利用單雙目運算符的標志位danshuang,判斷其值選擇相應的雙目運算符的算法表達式進行運算,這些雙目運算按順序依次為:加法、減法、乘法、除法及取對數(shù)。其中在除法和取對數(shù)運算中還要判斷操作數(shù)是否合法,如果不合法輸出提示內(nèi)容,如果合法進行運算。然后對結(jié)果判斷是否超過double型數(shù)據(jù)的顯示范圍,若超過也輸出提示信息。最后對相應的標志位進行復位。實現(xiàn)代碼如下:switch (danshuang) //數(shù)據(jù)判斷{case 1:m_num=num2+m_num。 //兩數(shù)相加UpdateData(FALSE)。 //數(shù)據(jù)刷新break。case 2:m_num=num2m_num。 //兩數(shù)相減UpdateData(FALSE)。 //數(shù)據(jù)刷新break。case 3:m_num=num2*m_num。 //兩數(shù)相乘UpdateData(FALSE)。 //數(shù)據(jù)刷新break。case 4:if (m_num==0) //在除法中,判斷除數(shù)是否為0GetDlgItem(IDC_SHUCHU)SetWindowText(輸入錯誤,0不能作除數(shù)!)。else {m_num=num2/m_num。UpdateData(FALSE)。}break。case 5:if (m_num=0||num2=0) //判斷操作數(shù)是否合法GetDlgItem(IDC_SHUCHU)SetWindowText(輸入錯誤,取對數(shù)要為正數(shù)!)。else {m_num=log(m_num)/log(num2)。UpdateData(FALSE)。} //取對數(shù)break。}if(m_num=||m_num)GetDlgItem(IDC_SHUCHU)SetWindowText(結(jié)果過大,無法顯示)。num2=m_num。num1=0。dianhou=0。point=FALSE。danshuang=0。zhengfu=TRUE。(選做)若實現(xiàn)了科學型和標準型,說明科學型和標準型實現(xiàn)的關(guān)鍵算法? 答:我做的科學型和標準型的實現(xiàn)方法和指導書上的推薦方法不同,指導書推薦的方法是通過單選按鈕,當選擇科學型時進行科學型的按鈕被激活,可以運算,當選擇標準型的時候進行科學型的按鈕不能進行運算。而我的實現(xiàn)方法是選擇伸縮框,初始時是標準型,界面上只有數(shù)值和簡單的加減乘除等運算按鈕,當單擊科學型時,對話框進行了擴展,出現(xiàn)了可以科學型運算的部分。主要的實現(xiàn)方法:首先要在對話框中要伸縮的位置插入一個圖像控件,將其拉成一條直線,并取消可見。其次在實現(xiàn)文件里邊定義兩個靜態(tài)變量,用來存儲對話框尺寸信息。為了實現(xiàn)第一次顯示為標準型,所以獲取顯示尺寸和位置信息以及執(zhí)行SetWindowPos函數(shù)的最佳時機應放在對話框創(chuàng)建之后,第一次顯示之前。為此利用WM_INITDIALOG消息的響應函數(shù)OnInitDialog來對對話框及控件進行相關(guān)的設置和修改。該函數(shù)中利用GetDlgItem()函數(shù)獲得圖像控件的窗口句柄,結(jié)合GetWindowRect()函數(shù)得到圖像控件的矩形框。進而進行標準型參數(shù)的獲取,利用SetWindowPos()函數(shù)完成對對話框的寬度、高度等參數(shù)的初始化設置。最后添加相應的菜單響應函數(shù),在響應函數(shù)里邊利用SetWindowPos()函數(shù)完成對對話框的寬度、高度等參數(shù)的設置。error C2296: 39。%39。 : illegal, left operand has type 39。double39。解決辦法:因為取余數(shù)的運算符%只能用于整數(shù),不能用于浮點數(shù),經(jīng)過查詢資料知道用fmod可進行取余運算。在階乘運算代碼中用“else GetDlgItem(IDC_SHUCHU)SetWindowText(不是整數(shù)無法進行階乘運算)。UpdateData(FALSE)。 //數(shù)據(jù)刷新”不能輸出相應的提示語句。 解決辦法:主要是因為在提示語句輸出后,立即進行了編輯框的刷新,將其覆蓋,所以將updateData(FALSE)提前即可在進行角度制轉(zhuǎn)換的時,相應的資源和代碼完成之后,運行發(fā)現(xiàn)剛開始沒有選中標準型和科學型的任何一個。 解決辦法:經(jīng)分析應該是沒有對單選按鈕相關(guān)聯(lián)的變量沒有進行初始化,在CLiuyunlongDlg::CLiuyunlongDlg(CWnd* pParent /*=NULL*/): CDialog(CLiuyunlongDlg::IDD, pParent) 中加入m_hudu=0,進行初始化后得以解決。運行時出現(xiàn)以下提示“l(fā)iuyunlong Microsoft 基礎(chǔ)類應用程序已停止工作(出現(xiàn)了一個問題,導致程序停止正常工作。請關(guān)閉改程序”。 解決辦法:應該是新加的擴展與收縮對話框的變量CRect rectLarge。CRect rectSmall。所放的位置不對。1)運行后依次輸入“12”,“/”,“”,“*”,“”,“”,“6”,“+”,“2”,“=”,之后結(jié)合相應的菜單項中同樣輸入這組操作也得到這個結(jié)果。如下圖所示:圖16 標準型時運算結(jié)果圖在運行程序后剛開始的界面如圖16所示,此時的界面為標準型,主要包括數(shù)字、清零、退格、負號、等號以及簡單的加減乘除運算按鈕,顯示編輯框和菜單項。并且根據(jù)計算知道該結(jié)果正確,且該計算器能實現(xiàn)運算符的連續(xù)運算。 2)點擊查看菜單項中的科學型,輸入“2”,“asin”得到相應的錯誤提示如17圖所示;然后點擊“C”和單選按鈕“度”依次并輸入“90”,“sin”,“*”,“2”,“exp”,“l(fā)n” “sqrt”得到相應的結(jié)果,之后結(jié)合菜單項實現(xiàn)結(jié)果一直,如18圖所示:圖17 反正弦輸入錯誤提示圖圖18 點擊科學型菜單后運算結(jié)果圖 在點擊查看菜單中的科學型選項后,如圖1圖18所示,界面進行了科學型的擴展,添加了三角函數(shù)、
點擊復制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1