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

正文內(nèi)容

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

2025-03-29 12:01本頁面
  

【正文】 Win32 m_hIcon = AfxGetApp()LoadIcon(IDR_MAINFRAME)。//新加的擴(kuò)展與收縮對(duì)話框的變量//編輯框和單選按鈕的變量初始化CLiuyunlongDlg::CLiuyunlongDlg(CWnd* pParent /*=NULL*/) : CDialog(CLiuyunlongDlg::IDD, pParent){ //{{AFX_DATA_INIT(CLiuyunlongDlg) m_num = 。//角度與弧度轉(zhuǎn)換臨時(shí)變量CRect rectLarge。double num1。bool biaozhun=TRUE。//diann判斷小數(shù)后的位數(shù)BOOL point=false。//單雙目運(yùn)算符轉(zhuǎn)換int i。如下圖所示:圖19 關(guān)于計(jì)算器信息顯示圖//定義的相關(guān)變量BOOL zhengfu=true。經(jīng)檢驗(yàn)和√2相當(dāng)?shù)慕咏?,運(yùn)算結(jié)果無誤,且能實(shí)現(xiàn)對(duì)輸入的錯(cuò)誤操作數(shù)的錯(cuò)誤提示功能。并且根據(jù)計(jì)算知道該結(jié)果正確,且該計(jì)算器能實(shí)現(xiàn)運(yùn)算符的連續(xù)運(yùn)算。1)運(yùn)行后依次輸入“12”,“/”,“”,“*”,“”,“”,“6”,“+”,“2”,“=”,之后結(jié)合相應(yīng)的菜單項(xiàng)中同樣輸入這組操作也得到這個(gè)結(jié)果。CRect rectSmall。請(qǐng)關(guān)閉改程序”。 解決辦法:經(jīng)分析應(yīng)該是沒有對(duì)單選按鈕相關(guān)聯(lián)的變量沒有進(jìn)行初始化,在CLiuyunlongDlg::CLiuyunlongDlg(CWnd* pParent /*=NULL*/): CDialog(CLiuyunlongDlg::IDD, pParent) 中加入m_hudu=0,進(jìn)行初始化后得以解決。 //數(shù)據(jù)刷新”不能輸出相應(yīng)的提示語句。在階乘運(yùn)算代碼中用“else GetDlgItem(IDC_SHUCHU)SetWindowText(不是整數(shù)無法進(jìn)行階乘運(yùn)算)。double39。%39。最后添加相應(yīng)的菜單響應(yīng)函數(shù),在響應(yīng)函數(shù)里邊利用SetWindowPos()函數(shù)完成對(duì)對(duì)話框的寬度、高度等參數(shù)的設(shè)置。該函數(shù)中利用GetDlgItem()函數(shù)獲得圖像控件的窗口句柄,結(jié)合GetWindowRect()函數(shù)得到圖像控件的矩形框。為了實(shí)現(xiàn)第一次顯示為標(biāo)準(zhǔn)型,所以獲取顯示尺寸和位置信息以及執(zhí)行SetWindowPos函數(shù)的最佳時(shí)機(jī)應(yīng)放在對(duì)話框創(chuàng)建之后,第一次顯示之前。主要的實(shí)現(xiàn)方法:首先要在對(duì)話框中要伸縮的位置插入一個(gè)圖像控件,將其拉成一條直線,并取消可見。(選做)若實(shí)現(xiàn)了科學(xué)型和標(biāo)準(zhǔn)型,說明科學(xué)型和標(biāo)準(zhǔn)型實(shí)現(xiàn)的關(guān)鍵算法? 答:我做的科學(xué)型和標(biāo)準(zhǔn)型的實(shí)現(xiàn)方法和指導(dǎo)書上的推薦方法不同,指導(dǎo)書推薦的方法是通過單選按鈕,當(dāng)選擇科學(xué)型時(shí)進(jìn)行科學(xué)型的按鈕被激活,可以運(yùn)算,當(dāng)選擇標(biāo)準(zhǔn)型的時(shí)候進(jìn)行科學(xué)型的按鈕不能進(jìn)行運(yùn)算。danshuang=0。dianhou=0。num2=m_num。} //取對(duì)數(shù)break。else {m_num=log(m_num)/log(num2)。}break。else {m_num=num2/m_num。 //數(shù)據(jù)刷新break。case 3:m_num=num2*m_num。 //兩數(shù)相減UpdateData(FALSE)。 //數(shù)據(jù)刷新break。實(shí)現(xiàn)代碼如下:switch (danshuang) //數(shù)據(jù)判斷{case 1:m_num=num2+m_num。然后對(duì)結(jié)果判斷是否超過double型數(shù)據(jù)的顯示范圍,若超過也輸出提示信息。利用單雙目運(yùn)算符的標(biāo)志位danshuang,判斷其值選擇相應(yīng)的雙目運(yùn)算符的算法表達(dá)式進(jìn)行運(yùn)算,這些雙目運(yùn)算按順序依次為:加法、減法、乘法、除法及取對(duì)數(shù)。在實(shí)現(xiàn)退格功能是,若point為true,則根據(jù)dianhou的值循環(huán)對(duì)m_num乘以10,將小數(shù)點(diǎn)移到只有十分位,利用fmod取余,將編輯框的變量值減去該余數(shù),最后再進(jìn)行循環(huán)將小數(shù)點(diǎn)移到原來數(shù)字的后邊??偟膩碚f這次的課程設(shè)計(jì)既鞏固了自己以前的MFC程序設(shè)計(jì)知識(shí),也拓展了自己的思維,增加了自己的動(dòng)手能力,最后也很感謝老師給我們的支持以及嚴(yán)格要求![1] ++實(shí)踐[M].西安電子科技大學(xué)出版社,2005.[2] 張建宏,湯練兵,[M].北京:科學(xué)出版社,2009.[3] 姚領(lǐng)田.精通MFC程序設(shè)計(jì)[M].北京:人民郵電出版社,2006.程序中如何實(shí)現(xiàn)小數(shù)的顯示與運(yùn)算? 答:,定義一個(gè)整型變量dianhou記錄小數(shù)點(diǎn)后的位數(shù)。 這次課設(shè)進(jìn)行的真的是挺開心的,本來自己對(duì)編程就感覺挺有興趣,對(duì)于這些東西老想做的更好一點(diǎn),每次在添加完一個(gè)新功能之后自己就感覺很高興,尤其是那些經(jīng)過很長(zhǎng)時(shí)間才解決的問題,給自己的印象更加的深刻??墒墙Y(jié)果是當(dāng)點(diǎn)擊標(biāo)準(zhǔn)型或是科學(xué)型時(shí)沒有絲毫的反應(yīng),當(dāng)時(shí)根據(jù)課件看了好長(zhǎng)的時(shí)間,進(jìn)行修改仍是不行,后來無奈之下,求助于網(wǎng)上,看了資料后,我明白了,在單文檔和多文檔中的實(shí)現(xiàn)是一樣的,可是對(duì)于對(duì)話框則有些不一樣,原因就在于在一個(gè)基于對(duì)話框的程序中,因?yàn)闆]有OnInitMenuPopup函數(shù),所以不會(huì)調(diào)用UPDATE_COMMAND_UI響應(yīng)函數(shù),而是使用了CWnd類的默認(rèn)處理,為此就要將OnInitMenuPopup函數(shù)添加到實(shí)現(xiàn)文件里邊。而窗口的伸縮我在網(wǎng)上搜了一些資料,利用在對(duì)話框中添加一個(gè)圖像控件將其拉成直線,獲取該圖像控件的位置,實(shí)現(xiàn)對(duì)話框的大小變化。在這些最基本的功能完成之后,我想增加一些其他功能,為此我打開了電腦自帶的計(jì)算器,看了一下界面,看到電腦自帶的計(jì)算器能夠進(jìn)行窗口的伸縮,單擊幫助信息,能夠?qū)崿F(xiàn)彈出一個(gè)對(duì)話框,顯示該計(jì)算器的基本信息。而實(shí)現(xiàn)這些功能尤其要注意的是單目運(yùn)算符和雙目運(yùn)算符的區(qū)別以及小數(shù)、正負(fù)號(hào)實(shí)現(xiàn)方法。像以前的我做的帶通濾波器的設(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)。 很快兩周的時(shí)間就過去了,在這段時(shí)間里我真的是感觸頗多,隨著自己這兩周的時(shí)間一步一步的推進(jìn),自己對(duì)基于對(duì)話框的編程也越來越系統(tǒng)化,真的可以說是獲益良多。 其次判斷num2是否為0,若為0,便將此時(shí)編輯框的值賦給num2,再將m_num值置0,設(shè)置當(dāng)前的雙目運(yùn)算符的標(biāo)志,并將point、zhengfu、dianhou復(fù)位。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清零。7)清除鍵的實(shí)現(xiàn): 將編輯框連接的變量m_num,所有的臨時(shí)變量numnum2,標(biāo)志位dianhou、danshuang、point、zhengfu,進(jìn)行清零復(fù)位操作即可。并把結(jié)果保存到m_num中,利用UpdateData(FALSE),刷新輸出到編輯框。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。4)幫助菜單中關(guān)于計(jì)算器菜單的實(shí)現(xiàn):首先創(chuàng)建新的對(duì)話框資源,在創(chuàng)建完對(duì)話框資源之后,生成一個(gè)相關(guān)的對(duì)話框類。 再次在對(duì)話框類的實(shí)現(xiàn)文件中添加相應(yīng)的void CLiuyunlongDlg OnInitMenuPopup函數(shù)代碼,::OnInitMenuPopup()。3)標(biāo)準(zhǔn)型和科學(xué)型選擇標(biāo)記的實(shí)現(xiàn): 首先在對(duì)話框類的實(shí)現(xiàn)文件中添加ON_WM_INITMENUPOPUP入口到消息映射里面。進(jìn)而進(jìn)行標(biāo)準(zhǔn)型參數(shù)的獲取,利用SetWindowPos()函數(shù)完成對(duì)對(duì)話框的寬度、高度等參數(shù)的初始化設(shè)置。為此利用WM_INITDIALOG消息的響應(yīng)函數(shù)OnInitDialog來對(duì)對(duì)話框及控件進(jìn)行相關(guān)的設(shè)置和修改。 其次在實(shí)現(xiàn)文件里邊定義兩個(gè)靜態(tài)變量,用來存儲(chǔ)對(duì)話框尺寸信息。然后利用FillSolidRect成員函數(shù)用指定的固體色填充矩形,其中顏色由RGB函數(shù)進(jìn)行設(shè)定。如下圖所示:圖14 幫助菜單項(xiàng)彈出的對(duì)話框圖 根據(jù)以上操作最終的界面圖:圖15 最終界面的顯示圖 關(guān)鍵功能的實(shí)現(xiàn)1)界面顏色的改變: 首先重載對(duì)話框的CLiuyunlongDlg類的OnPaint()成員函數(shù),即WM_PAINT消息。如下圖所示:圖12 插入資源對(duì)話框圖 2)右鍵單擊菜單項(xiàng),修改菜單資源的ID為IDR_MENU,在工作區(qū)右鍵單擊矩形框,選擇屬性,在標(biāo)明里寫要添加的菜單項(xiàng)名稱,同時(shí)修改ID。在編輯框上單擊鼠標(biāo)右鍵,在彈出的快捷菜單
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1