亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VC++微型計(jì)算器程序的實(shí)現(xiàn)

        2014-04-29 00:00:00陳惠娥
        數(shù)字化用戶 2014年4期

        【摘 要】本文通過對(duì)話框的應(yīng)用程序以及對(duì)話框常用控件的高級(jí)編程,基于優(yōu)化功能的思想設(shè)計(jì)一款微型的計(jì)算器,能夠?qū)崿F(xiàn)簡單的四則運(yùn)算功能。

        【關(guān)鍵詞】計(jì)算器 功能實(shí)現(xiàn)

        一、計(jì)算程序設(shè)計(jì)的思想

        微型計(jì)算器以優(yōu)化資源為主要設(shè)計(jì)思想,占有空間資源較少,對(duì)電腦其他程序的應(yīng)用影響較小。遵循軟件工程的設(shè)計(jì)規(guī)則,系統(tǒng)具有友好交互的界面,操作快捷簡單,即時(shí)準(zhǔn)確地獲得需要的計(jì)算的結(jié)果,充分降低數(shù)字計(jì)算的難度和節(jié)約時(shí)間與空間。

        二、計(jì)算程序設(shè)計(jì)的步驟

        (一)建立一個(gè)基于對(duì)話框的MFC應(yīng)用程序CalcTest。

        在資源編輯器中添加控件:一個(gè)編輯框、17個(gè)按鈕,分別修改其ID和標(biāo)題的屬性,10個(gè)按鈕的ID修改為IDC_BTN0-IDC_BTN9,Caption修改為0-9的數(shù)字。其他7個(gè)按鈕的ID分別改為IDC_BTNCLEAR、IDC_BTNADD、IDC_BTNMINUS、IDC_BTNMULTIPLY、IDC_BTNDIVID、IDC_BTNEQUAL、IDC_BTNDOT,Caption修改為C、+、-、*、/、=、.。

        (二)為編輯框添加一個(gè)Value的CString類型的關(guān)聯(lián)變量m_strData用于表示編輯框中的值。為對(duì)話框自定義成員變量m_fOprand表示操作數(shù),m_fResult表示結(jié)果,m_operator表示運(yùn)算符。

        (三)編寫代碼實(shí)現(xiàn)加減乘除的運(yùn)算,應(yīng)用函數(shù)調(diào)用處理運(yùn)算,在函數(shù)調(diào)用中,除法運(yùn)算時(shí),除數(shù)不能為0。

        (四)為按鈕添加單擊事件,實(shí)現(xiàn)其功能。

        三、計(jì)算器程序功能實(shí)現(xiàn)

        (一)在CalcTestDlg.h頭文件中加入函數(shù)頭的定義void calc();

        (二)在CalcTestDlg.cpp實(shí)現(xiàn)文件中初始化運(yùn)算符號(hào)的值,m_operator = ‘+’。

        (三)在CalcTestDlg.cpp實(shí)現(xiàn)文件中加入函數(shù)的實(shí)現(xiàn)代碼void CCalcTestDlg::calc()

        {UpdateData(TRUE);

        const TCHAR* a = m_strData;

        m_fOprand = _tstof(a);

        switch(m_operator)

        {case ‘+’:m_fResult += m_fOprand;break;

        case ‘-’:m_fResult -= m_fOprand;break;

        case ‘*’:m_fResult *= m_fOprand;break;

        case ‘/’:if(m_fOprand != 0)

        m_fResult /= m_fOprand;

        else AfxMessageBox(_T(“除數(shù)不能為0”), MB_OK); break;

        case ‘=’:break;

        default:AfxMessageBox(_T(“輸入非法運(yùn)算符”)); } }

        (四)為數(shù)字0按鈕添加單擊事件,通過消息映射到OnBnClickedBtn0()函數(shù),并添加代碼用于獲取按鈕的值傳遞給相應(yīng)的變量。同理,OnBnClickedBtn0~ OnBnClickedBtn09,其變量的賦值同樣更改為與按鈕相應(yīng)的數(shù)字值,如m_strData +=0~m_strData +=9;

        void CCalcTestDlg::OnBnClickedBtn0()

        {m_strData += \"0\";UpdateData(FALSE);}

        (五)為等于號(hào)按鈕添加單擊事件,通過消息映射到OnBnClickedBtnequal()函數(shù),并添加代

        碼用于獲取按鈕的“=”號(hào)值傳遞給變量。

        void CCalcTestDlg::OnBnClickedBtnequal()

        {calc();m_strData.Format(_T(\"%.2f\"), m_fResult);

        UpdateData(FALSE);m_operator = '=';}

        (六)為點(diǎn)號(hào)按鈕添加單擊事件,通過消息映射到OnBnClickedBtndot()函數(shù),并添加代

        碼用于獲取按鈕的“.”號(hào)值傳遞給變量。

        void CCalcTestDlg::OnBnClickedBtndot()

        {m_strData += \".\";UpdateData(FALSE);}

        (七)為除法號(hào)按鈕添加單擊事件,通過消息映射到OnBnClickedBtndot()函數(shù),并添加代

        碼用于獲取按鈕的“/”號(hào)值傳遞給變量。

        void CCalcTestDlg::OnBnClickedBtndivid()

        {calc(); m_strData = \"\"; UpdateData(FALSE);m_operator = '/';}

        同理,為其他符號(hào)按鈕添加單擊事件,通過消息映射到OnBnClickedBtnmultiply()函數(shù)、OnBnClickedBtnminus()函數(shù)、OnBnClickedBtnadd()函數(shù),用于獲取按鈕的“*”、“-”、“+”號(hào)值傳遞給變量。

        為清除號(hào)按鈕添加單擊事件,通過消息映射到OnBnClickedBtnclear()函數(shù),并添加代

        碼用于獲取按鈕的“C”號(hào)值傳遞給變量。

        void CCalcTestDlg::OnBnClickedBtnclear()

        { m_strData = \"\";m_fOprand = 0;m_fResult = 0;m_operator = '+';

        UpdateData(FALSE); }

        四、研究展望

        本文主要通過vc++設(shè)計(jì)微型計(jì)算器,具有普通計(jì)算器的共性,在優(yōu)化功能上使用較簡便,無需安裝計(jì)算器應(yīng)用程序就可以使用。此外,研究還可以在此基礎(chǔ)進(jìn)行擴(kuò)展,實(shí)現(xiàn)更多功能,如科學(xué)型計(jì)算器的研究等等。

        參考文獻(xiàn):

        [1]Bo Zhi Chen. Visual C++ program design[M].北京:中國鐵道出版社,2008

        [2]孫鑫.VC++深入詳解[M].北京:電子工業(yè)出版社,2012

        [3](美)霍爾頓(Horton, I.) 著,蘇正泉譯. Visual C++2012入門經(jīng)典[M].北京:清華大學(xué)出版社,2012

        [4](美)佩措爾德 著,方敏等譯. Windows程序設(shè)計(jì)[M].北京: 清華大學(xué)出版社,2010

        作者簡介:陳惠娥(1984-),性別:女,廣東技術(shù)師范學(xué)院天河學(xué)院、碩士,研究方向:軟件工程與信息系統(tǒng)。

        99久久久69精品一区二区三区| 国产精品久久久久影院| a在线观看免费网站大全| 婷婷五月综合缴情在线视频 | 中文字幕人妻无码一夲道| 午夜探花在线观看| 窄裙美女教师在线观看视频| 国产免费人成视频在线观看播放| 99国语激情对白在线观看| 亚洲精品中文字幕一二三四| 国产精品一区二区日本| 亚洲一区av在线观看| 免费无码一区二区三区蜜桃大| 国产成人精品无码播放| 91精品国产福利尤物免费| 中文字幕日韩精品美一区二区三区| 国产内射一级一片高清内射视频 | 成年人黄视频大全| 国产尤物二区三区在线观看| 国产一区二区三区精品毛片| 亚洲熟妇无码av在线播放 | 亚洲国产欧美在线观看| 亚洲男人天堂2019| 国产国拍亚洲精品福利| 亚洲国产成人va在线观看天堂| 国产午夜视频在线观看免费| 午夜理论片yy6080私人影院| 成人综合网站| 黄色成人网站免费无码av| 一区二区丝袜美腿视频| 扒开美女内裤舔出白水| 国产精品无码一本二本三本色| 亚洲欧洲日产国码无码AV一| 久久免费网站91色网站| 亚洲丝袜美腿在线视频| 双腿张开被9个男人调教| 亚洲国产成人AⅤ片在线观看| 国产一级一片内射视频在线| 女人无遮挡裸交性做爰| 国产精品麻豆成人av电影艾秋 | 中国黄色偷拍视频二区|