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

正文內(nèi)容

簡單計算器課程設(shè)計報告(完整版)

2025-02-23 23:50上一頁面

下一頁面
  

【正文】 如下圖所示:圖5 建立MFC AppWizard[exe]工程圖在彈出MFC應(yīng)用程序向?qū)Р襟E1對話框中,選擇基本對話框(D),若不用修改依次點擊“完成”、“確定”按鈕。zhengfu=ture。若需要用算出的結(jié)果繼續(xù)運算則回到輸入完第一個操作數(shù)后繼續(xù)進(jìn)相應(yīng)的流程,若不需要則判斷試否需要開始新一輪的運算,不需要則結(jié)束。在sin、cos、tan運算中首先利用角度轉(zhuǎn)換的標(biāo)志位m_hudu判斷當(dāng)時是度還是弧度,若是弧度可以直接調(diào)用函數(shù)進(jìn)行相關(guān)計算,若是度則要進(jìn)行角度的轉(zhuǎn)換,在轉(zhuǎn)換時要記得Pi首先記性宏定義,然后調(diào)用數(shù)學(xué)函數(shù)進(jìn)行計算,最后對相關(guān)的各種標(biāo)志位進(jìn)行復(fù)位、并輸出結(jié)果到編輯框。雙目運算符包含基本的四則運算及乘冪功能,單目運算符主要包含正余弦,階乘,對數(shù),開方,倒數(shù)等運算,同時也包含角度制的轉(zhuǎn)換、科學(xué)型與標(biāo)準(zhǔn)型的轉(zhuǎn)換、輸出設(shè)計者信息、清除、退格、退出功能。簡單計算器,在輸入數(shù)據(jù)時,調(diào)用輸入數(shù)據(jù)子程序。若按下的是單目運算符,則直接對其輸入數(shù)據(jù)進(jìn)行處理得出結(jié)果。dianhou=0。圖3 log運算流程圖Y開始輸入子函數(shù)m_num值保存到num2輸入子函數(shù)進(jìn)行運算結(jié)果是否合適數(shù)據(jù)保存到m_num各項復(fù)位編輯框顯示‘錯誤’NY是否用結(jié)果繼續(xù)進(jìn)行運算N結(jié)束jie是否重新開始YN雙目運算符按鈕的添加以“0”為例,其他按鈕類似。如下圖所示:圖14 幫助菜單項彈出的對話框圖 根據(jù)以上操作最終的界面圖:圖15 最終界面的顯示圖 關(guān)鍵功能的實現(xiàn)1)界面顏色的改變: 首先重載對話框的CLiuyunlongDlg類的OnPaint()成員函數(shù),即WM_PAINT消息。進(jìn)而進(jìn)行標(biāo)準(zhǔn)型參數(shù)的獲取,利用SetWindowPos()函數(shù)完成對對話框的寬度、高度等參數(shù)的初始化設(shè)置。5)操作數(shù)的實現(xiàn): 首先通過小數(shù)標(biāo)志位point判斷當(dāng)前是否有小數(shù)點,如果有用num1記錄當(dāng)前鍵入的數(shù)值,并將小數(shù)點后的位數(shù)標(biāo)志位加一,利用for循環(huán),實現(xiàn)該數(shù)在小數(shù)點哪一位,然后通過正負(fù)標(biāo)志位zhengfu判斷當(dāng)前數(shù)值是正數(shù)還是負(fù)數(shù),如果是正數(shù)直接將m_num和小數(shù)num1相加,如果是負(fù)號則m_num減去num1。 其次判斷num2是否為0,若為0,便將此時編輯框的值賦給num2,再將m_num值置0,設(shè)置當(dāng)前的雙目運算符的標(biāo)志,并將point、zhengfu、dianhou復(fù)位。在這些最基本的功能完成之后,我想增加一些其他功能,為此我打開了電腦自帶的計算器,看了一下界面,看到電腦自帶的計算器能夠進(jìn)行窗口的伸縮,單擊幫助信息,能夠?qū)崿F(xiàn)彈出一個對話框,顯示該計算器的基本信息??偟膩碚f這次的課程設(shè)計既鞏固了自己以前的MFC程序設(shè)計知識,也拓展了自己的思維,增加了自己的動手能力,最后也很感謝老師給我們的支持以及嚴(yán)格要求![1] ++實踐[M].西安電子科技大學(xué)出版社,2005.[2] 張建宏,湯練兵,[M].北京:科學(xué)出版社,2009.[3] 姚領(lǐng)田.精通MFC程序設(shè)計[M].北京:人民郵電出版社,2006.程序中如何實現(xiàn)小數(shù)的顯示與運算? 答:,定義一個整型變量dianhou記錄小數(shù)點后的位數(shù)。實現(xiàn)代碼如下:switch (danshuang) //數(shù)據(jù)判斷{case 1:m_num=num2+m_num。 //數(shù)據(jù)刷新break。} //取對數(shù)break。(選做)若實現(xiàn)了科學(xué)型和標(biāo)準(zhǔn)型,說明科學(xué)型和標(biāo)準(zhǔn)型實現(xiàn)的關(guān)鍵算法? 答:我做的科學(xué)型和標(biāo)準(zhǔn)型的實現(xiàn)方法和指導(dǎo)書上的推薦方法不同,指導(dǎo)書推薦的方法是通過單選按鈕,當(dāng)選擇科學(xué)型時進(jìn)行科學(xué)型的按鈕被激活,可以運算,當(dāng)選擇標(biāo)準(zhǔn)型的時候進(jìn)行科學(xué)型的按鈕不能進(jìn)行運算。最后添加相應(yīng)的菜單響應(yīng)函數(shù),在響應(yīng)函數(shù)里邊利用SetWindowPos()函數(shù)完成對對話框的寬度、高度等參數(shù)的設(shè)置。 //數(shù)據(jù)刷新”不能輸出相應(yīng)的提示語句。1)運行后依次輸入“12”,“/”,“”,“*”,“”,“”,“6”,“+”,“2”,“=”,之后結(jié)合相應(yīng)的菜單項中同樣輸入這組操作也得到這個結(jié)果。//單雙目運算符轉(zhuǎn)換int i。//角度與弧度轉(zhuǎn)換臨時變量CRect rectLarge。 GetDlgItem(IDC_SEPARATOR)GetWindowRect(amp。 // return TRUE unless you set the focus to a control}//設(shè)置背景顏色所加代碼void CLiuyunlongDlg::OnPaint() { if (IsIconic()) { … … } else { CRect rect。ASSERT( == NULL)。(hParentMenu = ::GetMenu(pParentm_hWnd)) != NULL){int nIndexMax = ::GetMenuItemCount(hParentMenu)。++){ = pPopupMenuGetMenuItemID()。 // Popups are never auto disabled.}else{// Normal menu item.// Auto enable/disable if frame window has m_bAutoMenuEnable// set and mand is _not_ a system mand. = NULL。}}//0到9數(shù)值的實現(xiàn)代碼,此處以0代替:void CLiuyunlongDlg::OnNumber0() { // TODO: Add your control notification handler code here if(danshuang==0)num2=0。 //否則前面加負(fù)號 } else if(zhengfu==TRUE) m_num=m_num*10。 //變量2為0 dianhou=0。idianhou1。 if(m_num==0)zhengfu=TRUE。 //小數(shù)位數(shù)無 danshuang=2。 //兩數(shù)相乘 UpdateData(FALSE)。UpdateData(FALSE)。 zhengfu=TRUE。 point=FALSE。 zhengfu=true。//設(shè)置單選標(biāo)記函數(shù)}//退出功能void CLiuyunlongDlg::Onexit() { // TODO: Add your mand handler code here OnOK()。 //數(shù)據(jù)刷新}///關(guān)于菜單項的實現(xiàn)代碼void CLiuyunlongDlg::OnMENUguanyu() { // TODO: Add your mand handler code here CguanyuDlg dlg。}//正余弦、正切實現(xiàn)代碼,以余弦為例void CLiuyunlongDlg::OnCos() { // TODO: Add your control notification handler code here if(m_hudu==0) { m_jiao=1。 if(m_num=0) { m_num=sqrt(num2)。 } if(m_num=||m_num) GetDlgItem(IDC_SHUCHU)SetWindowText(結(jié)果過大,無法顯示)。 case 4: if (m_num==0) //在除法中,判斷除數(shù)是否為0 GetDlgItem(IDC_SHUCHU)SetWindowText(輸入錯誤,0不能作除數(shù)!)。 //兩數(shù)相加 UpdateData(FALSE)。 //數(shù)據(jù)刷新}//加減乘除、取對數(shù)實現(xiàn)代碼,以減法為例void CLiuyunlongDlg::OnDifference() { // TODO: Add your control notification handler code here if(danshuang!=0)OnEqual()。 //移動至只有一個小數(shù)位 } m_num=m_numfmod(m_num,1)。 point=FALSE。UpdateData(FALSE)。 dianhou=dianhou++。}// Adjust for menu deletions and additions.UINT nCount = pPopupMenuGetMenuItemCount()。 // Menu separator or invalid
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1