• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

    【摘 要】本文通過對話框的應用程序以及對話框常用控件的高級編程,基于優(yōu)化功能的思想設計一款微型的計算器,能夠實現(xiàn)簡單的四則運算功能。

    【關鍵詞】計算器 功能實現(xiàn)

    一、計算程序設計的思想

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

    二、計算程序設計的步驟

    (一)建立一個基于對話框的MFC應用程序CalcTest。

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

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

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

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

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

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

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

    (三)在CalcTestDlg.cpp實現(xiàn)文件中加入函數(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(“輸入非法運算符”)); } }

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

    void CCalcTestDlg::OnBnClickedBtn0()

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

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

    碼用于獲取按鈕的“=”號值傳遞給變量。

    void CCalcTestDlg::OnBnClickedBtnequal()

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

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

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

    碼用于獲取按鈕的“.”號值傳遞給變量。

    void CCalcTestDlg::OnBnClickedBtndot()

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

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

    碼用于獲取按鈕的“/”號值傳遞給變量。

    void CCalcTestDlg::OnBnClickedBtndivid()

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

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

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

    碼用于獲取按鈕的“C”號值傳遞給變量。

    void CCalcTestDlg::OnBnClickedBtnclear()

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

    UpdateData(FALSE); }

    四、研究展望

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

    參考文獻:

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

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

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

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

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

    宝鸡市| 永兴县| 彭水| 聂荣县| 大化| 西丰县| 镇坪县| 喀喇| 丰台区| 古田县| 贺兰县| 阿拉尔市| 海林市| 苏州市| 灵台县| 富平县| 自治县| 林甸县| 竹北市| 沂源县| 瑞安市| 伊宁市| 河北区| 连南| 合江县| 潞城市| 东丽区| 宿松县| 洛隆县| 龙海市| 额敏县| 黔南| 团风县| 电白县| 华亭县| 高州市| 万全县| 镇平县| 望江县| 峨边| 卓资县|