亚洲免费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)。

        色综合久久精品中文字幕| 国产一二三四2021精字窝| 精品国产av色一区二区深夜久久| 亚洲国产美女精品久久久久| 国产69精品一区二区三区| 日本成人中文字幕亚洲一区| 强奸乱伦影音先锋| 99久久er这里只有精品18| 久久精品性无码一区二区爱爱| 亚洲精品中文字幕码专区| 精品无码av无码专区| 在线观看免费人成视频色9| 亚洲综合五月天欧美| 国产免费精品一品二区三| 亚洲人成网站在线播放2019 | 日本无遮挡吸乳呻吟视频| 草莓视频中文字幕人妻系列| 一区二区三区精品免费| 国产亚洲精品久久久闺蜜| 久久成人麻豆午夜电影| 国产一级片内射在线视频| 亚洲自拍偷拍色图综合| 天下第二社区在线视频| 一级片久久| 国产成人久久精品二区三区| 妺妺窝人体色777777| 国产一线二线三线女| 亚洲AV无码一区二区三区精神| 国产一区二区三区成人| 精品久久久久久成人av| 亚洲一区二区综合色精品| 最新亚洲视频一区二区| 日韩精品人妻中文字幕有码| 亚洲精品久久无码av片软件| 99久久久久久亚洲精品| 日本熟女精品一区二区三区| 日韩国产成人无码av毛片蜜柚| ZZIJZZIJ亚洲日本少妇| 亚洲国产一区一区毛片a| 国产婷婷色一区二区三区在线 | 久久99精品久久只有精品|